Во время работы с контролером CANmodule-III (v.2.2.5) от INICORE возникал проблема:
Из периодически отправляемого потока данных мы вычитываем только часть данных, после чего контроллер перестает получать сообщения ( в регистре ISR нет битов-индикаторов приема данных и ошибок)
Однако если со стороны контролера на шину отправить какие либо данные, то прием возобновляется, правда опять на некоторое время.
RTR сообщения не используются.
Проверки делались на скоростях 10, 100 и 125 к\бит.
Буду очень благодарен за любую информацию.
Кому интересно - даю более подробную информацию о проблеме:
1) Если сначала включить и настроить контролер на прием, а потом начать передачу сообщений (от другого передатчика на шине CAN), то контролер просто не видел этих сообщений - прерывания не случались (включая прерывания с ошибками), состояние всех регистров в норме.
2) Если сначала начать передачу сообщений (соответственно по шине будет предаваться без пауз первое сообщение пока приемник, т.е наш контролер, не выставит подтверждение), а потом настроить на прием и включить контролер, то он принимает все сообщения, которые идут без пауз (т.е которые сохранились в переедающем буфере передатчика), а последующие опять не видит (хотя они , после паузы, продолжают опять беспрерывно передаваться по шине, т.к подтверждение приема никто не выставляет).
3) Из этого состояния ( в котором сообщения не перенимаются) контролер можно вывести если он (контролер) отправит сообщение. После этого он примет все сообщение предающиеся непрерывно и после паузы опять "заснет".