CAN: различия между версиями
м (Исправлена ссылка в конце статьи) |
м |
||
(не показано 12 промежуточных версий 6 участников) | |||
Строка 1: | Строка 1: | ||
<languages/><translate> | <languages/> | ||
<translate> | |||
<!--T:1--> | |||
Порты CAN доступны в системе как сетевые интерфейсы can0 или can1, в зависимости от модели контроллера. | |||
<!--T:2--> | |||
Работа происходит через стандартную подсистему Linux | Работа происходит через стандартную подсистему Linux SocketCAN. | ||
<!--T:3--> | |||
Для удобной работы с CAN, нужно поставить пакет apt-get install can-utils | |||
<!--T:4--> | |||
Переключите порт RS-485/CAN в режим CAN: На вкладке Hardware Modules Configuration выберите настройки RS485-2/CAN interface config, выберите Module type '''CAN interface''' и нажмите кнопку Save. | |||
[[File:Can_enable.png|400px|right||Module type '''CAN interface''']] | |||
<!--T: | <!--T:5--> | ||
Конфигурирование интерфейса | |||
<!--T:6--> | |||
<pre> | |||
< | |||
ip link set can0 up type can bitrate 125000 | ip link set can0 up type can bitrate 125000 | ||
</ | </pre> | ||
<!--T: | <!--T:7--> | ||
отправка 4 байтов c адресом 123: | |||
<!--T: | <!--T:8--> | ||
<pre> | |||
cansend can0 123#DEADBEEF | cansend can0 123#DEADBEEF | ||
</ | </pre> | ||
<!--T:9--> | |||
показывать входящие пакеты: | |||
<!--T: | <!--T:10--> | ||
<pre> | |||
candump can0 | candump can0 | ||
</ | </pre> | ||
<!--T:11--> | |||
показать статистику: | |||
<!--T: | <!--T:12--> | ||
<pre> | |||
cat /proc/net/can/stats | cat /proc/net/can/stats | ||
</ | </pre> | ||
<!--T: | <!--T:13--> | ||
Обратите внимание, что в случае проблем на шине (нет терминатора, нет принимающего устройства, короткое замыкание), контроллер может прекратить работу. | Обратите внимание, что в случае проблем на шине (нет терминатора, нет принимающего устройства, короткое замыкание), контроллер может прекратить работу. | ||
Для того чтобы начать работу вновь, выполните: | Для того, чтобы начать работу вновь, выполните | ||
< | |||
<!--T:14--> | |||
<pre> | |||
ifconfig can0 down && ip link set can0 up type can bitrate 125000 | ifconfig can0 down && ip link set can0 up type can bitrate 125000 | ||
</ | </pre> | ||
<!--T: | <!--T:15--> | ||
Больше информации смотрите в | Больше информации смотрите в [http://www.armadeus.com/wiki/index.php?title=CAN_bus_Linux_driver статье]. | ||
</translate> | </translate> |
Версия 19:49, 29 мая 2019
Порты CAN доступны в системе как сетевые интерфейсы can0 или can1, в зависимости от модели контроллера.
Работа происходит через стандартную подсистему Linux SocketCAN.
Для удобной работы с CAN, нужно поставить пакет apt-get install can-utils
Переключите порт RS-485/CAN в режим CAN: На вкладке Hardware Modules Configuration выберите настройки RS485-2/CAN interface config, выберите Module type CAN interface и нажмите кнопку Save.
Конфигурирование интерфейса
ip link set can0 up type can bitrate 125000
отправка 4 байтов c адресом 123:
cansend can0 123#DEADBEEF
показывать входящие пакеты:
candump can0
показать статистику:
cat /proc/net/can/stats
Обратите внимание, что в случае проблем на шине (нет терминатора, нет принимающего устройства, короткое замыкание), контроллер может прекратить работу.
Для того, чтобы начать работу вновь, выполните
ifconfig can0 down && ip link set can0 up type can bitrate 125000
Больше информации смотрите в статье.