1

Тема: приём can

Добрый день. Пытаюсь понять функционал ERL принятого CAN сообщения. Правильно ли я понимаю, если мы выставляем ERL 1 при приёме сообщения то регистр чтения начинает читать сообщение по одному байту по-очереди и сравнивать его с заданным значением, или он начинает читать сообщение при наличии хотя бы одного байта данных вообще?

Вложений в сообщении

Иконка вложения 123.png 67.31 кб, скачивался 103 раз, последний раз 2016-04-15 

2

Re: приём can

ну или так

Вложений в сообщении

Иконка вложения 321.png 74.38 кб, скачивался 66 раз, последний раз 2016-04-15 

3

Re: приём can

Игорь пишет:

Добрый день. Пытаюсь понять функционал ERL принятого CAN сообщения. Правильно ли я понимаю, если мы выставляем ERL 1 при приёме сообщения то регистр чтения начинает читать сообщение по одному байту по-очереди и сравнивать его с заданным значением, или он начинает читать сообщение при наличии хотя бы одного байта данных вообще?

Вы понимаете неправильно. ERL принятого CAN сообщения - регистр чтения, ничего записать в него нельзя, можно только сравнить его значение с другим значением (константой или выходными данными другого блока).

Более подробную информацию о драйвере CAN можно найти тут: http://wiki.canny.ru/index.php?title=C … %D1%80_CAN или в Руководстве пользователя из состава пакета интегрированной среды разработки.

Цитата:
"Регистр принятого сообщения CAN ERL - значение, равное количеству байт данных в принятом сообщении, признаки EXT и RTR."

Из приведенных примеров: в D-триггер значение регистра чтения D1:D0 будет записано только если получено сообщение длиной 1 байт.