kirill.gluschenko пишет:Я отсылаю с адаптера сигнал 2B0 этот сигнал принимает CAN0 на Canny, а дальше отправляет его с CAN1 обратно в CAN, где его принимает адаптер. Также поставил два терминирующих резистора по 120 Ом
Его принимает не только адаптер, но и CAN0, так как CAN1, CAN0 и адаптер у вас подключены к единой шине.
Но, вернемся к началу:
Получая от адаптера сообщение от с ID=2B0 в CAN0, в соответствии с вашей диаграммой контроллер его не ретранслирует, а вместо него отправляет в шину сообщение c ID=0E1 через интерфейс CAN1, как вы того, вероятно, и ожидаете.
Однако, сообщение с ID=2B0 отправленное адаптером принимается одновременно двумя CAN интерфейсами контроллера, так как они подключены к одной и той же шине, и получая это сообщение в CAN1, драйвер шлюза беспрепятственно пересылает его обратно в общую шину через CAN0, после чего оно принимается как адаптером, так и снова контроллером через CAN1 и т.д.
С сообщениями с ID=0E1, при такой топологии шины и диаграмме, в драйвере шлюза произойдет то-же самое, но уже во встречном направлении, как только диаграмма впервые отправит такое сообщение.
При этом, вы видите в логе CAN в основном сообщения с ID=0E1, так как они имеют более высокий приоритет и постоянно выигрывают арбитраж шины в при столь высокой ее утилизации.
Алгоритм работы драйвера шлюза показан на этой блок-схеме: https://canny.ru/docs/c72duo/cangateway … an-shlyuza
=kirill.gluschenko пишет:Но как только я добавляю параметр регистр установки конфигурации CAN0, то...
... запускаете в работу незадействованный до этого момента интерфейс CAN0 контроллера.
Пожалуйста, по возможности, внимательно ознакомьтесь с приведенным здесь рекомендациями: https://canny.ru/docs/tips_tricks/solut … ents_tips/
Успехов вам в ваших проектах.