Цитата(rezident @ Apr 3 2007, 12:16)

Зачем весь таймер? Таймер пускай работает как работал, а для определения таймаута достаточно одного compare-регистра CCRx. Не поверю, что в вашей программе какой-нибудь таймер не используется для генерации системных тиков

Конечно, и не один все 5 + 3 канала. Поэтому выделить какой-либо таймер для этой задачи не просто.
Просто не совсем понятно, почему не сделали ткую нужную вещь, как прерывание по завершению передачи? Ведь это просто необходимо в любом полудeплексе.
А еще у меня слейв отвечает через несколько микросекунд (будь он не ладен) после запроса - надо все успеть.
Сейчас пробую передавать на байт больше (последний dumb так сказать), а направление переключать по последнему значащиму байту. Т.е. передатчик контроллера передает dumb байт, но тот уже никуда не попадает, так как передатчик драйвера выключен. Пока вроде прокатывает, но как-то все это через ж.