Использование периферии Q7_KOMDIV_MK

CAN

Пример CAN loopback:

Подключение

Соединить CAN интерфейсы следующим образом:

CAN0_H --- CAN1_H
CAN0_L --- CAN1_L
GND --- GND

Настройка

Перед изменением скорости интерфейсы необходимо выключить:

ip link set can0 down
ip link set can0 type can bitrate 1000000 restart-ms 100
ip link set can0 up
ip link set can1 down
ip link set can1 type can bitrate 1000000 restart-ms 100
ip link set can1 up

Скорость на обоих интерфейсах должна совпадать.

Приём

Приём всех кадров:

candump can0

Приём только кадров с идентификатором 123:

candump 'can0,123:7FF'

Отправка

Отправка кадра через can1:

cansend can1 123#1122334455667788

Где 123 — CAN ID, после # идут данные.

Остановка

ip link set can0 down
ip link set can1 down

Проверка состояния

ip -details -statistics link show can0

Нормальное состояние интерфейса:

state ERROR-ACTIVE bitrate 1000000

В статистике отображаются:

количество принятых пакетов — RX packets;

количество отправленных пакетов — TX packets;

ошибки приёма — RX errors;

ошибки передачи — TX errors.

UART

Подключение

Для loopback соедините:

TX --- RX

UART должен использовать подходящий логический уровень, например 3,3 В. Не подключайте TTL UART напрямую к RS-232.

Настройка

stty -F /dev/ttyS1 115200 raw -echo

Приём

cat /dev/ttyS1

Отправка

printf 'UART test' > /dev/ttyS1

При loopback отправленная строка должна появиться в окне приёма.

Автоматический тест

Успешный результат:

UART TEST PASSED

I2C

SATA