Можно ли сгенерировать сообщение CAN на одном устройстве и вывести сообщение CAN на другом устройстве с помощью SocketCAN?

Я использую набор инструментов SocketCAN и CANtact для отправки и получения сообщения CAN. Я использую два набора инструментов CANtact, один для отправки сообщения CAN, а другой для получения сообщения CAN. Оба набора инструментов CANtact соединены гнездом DB9 с гнездом DB9, а другие концы подключены к USB-порту ноутбука.

Я использовал следующие команды SocketCAN, чтобы сначала настроить их

sudo modprobe can
sudo modprobe can_raw
sudo modprobe slcan
sudo slcand -o -s6 -t hw -S 3000000 /dev/ttyACM0 slcan0
sudo ip link set slcan0 up

Вышеуказанные команды предназначены для первого набора инструментов CANtact, затем я подключил второй набор инструментов CANtact и настроил его с помощью следующих команд

sudo modprobe can
sudo modprobe can_raw
sudo modprobe slcan
sudo slcand -o -s6 -t hw -S 3000000 /dev/ttyACM1 slcan1
sudo ip link set slcan1 up

Я выполнил эти шаги в двух разных терминалах

В первом терминале я отдал

cangen -v slcan0

Во втором терминале я отдал

 candump slcan1

Я не получаю никаких сообщений CAN в терминале 2, но если я дам

cangen -v slcan0

в первом терминале и

candump slcan0

во втором терминале я могу просматривать отправленные сообщения CAN

Это означает, что сообщение CAN не передается между двумя наборами инструментов CANtact. Как это можно решить? Или я совершаю какую-то ошибку?

Соединения [] [1] ] 5

0 ответов

Другие вопросы по тегам