[an error occurred while processing this directive]
PIC458 & Aborting CAN Transmission
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Владимир 19 июля 2003 г. 12:45

Для PIC18F458 задача такая:
Нужно прервать передачу сообщения, которое в силу ряда причин еще не было передано в шину, но уже потеряло актуальность.
Отмена сообщения делается вроде просто, установил TXREQ в ноль и жди TXABT, в случае если передача уже шла.
Проблема:
Если между чтением бита TXREQ(который находиться в единице) и опрерацией по установке этого бита в ноль(отмена передачи) CAN контроллер пика уже сам сбросил этот бит, как тогда узнать что буфер точно свободен, ведь TXABAT уже не встанет в 1.
В доке не описано в каком машинном цикле этот бит установиться в ноль.
То есть потенциально даже так может не работать:
SkipIFSet TXREQ
GoTo BlaBla
BitClear TXREQ
Wait TXABAT
Или я не прав?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru