23 lines
1.5 KiB
Markdown
23 lines
1.5 KiB
Markdown
# STM32F407 + CAN485 DevBoard_V1
|
|
|
|
Порт даёт SETGUI доступ к существующим Modbus-регистрам STM32F407 через
|
|
классический CAN. ПК подключён к USB-UART платы CAN485 DevBoard_V1, команда
|
|
`T,E` платы отправляет ProtoCAN-кадр, а этот порт отвечает тем же типом кадра.
|
|
При маршруте `Q3` плата одновременно ретранслирует поток по RS-485.
|
|
|
|
Порт не настраивает GPIO, bitrate, фильтры и не запускает CAN: это остаётся за
|
|
CubeMX-проектом. Необработанные кадры передаются callback-у приложения, поэтому
|
|
загрузчик ProtoCAN и регистровый сервис могут делить FIFO0.
|
|
|
|
Слой приложения предоставляет callback-и чтения и записи. Нулевой DLC означает
|
|
чтение; данные в кадре `HOLDING`/`COIL` — запись. За кадр передаются до четырёх
|
|
16-битных регистров или до пятнадцати coils (предел 4-битного `RegCount`).
|
|
|
|
```c
|
|
static set_devboard_v1_stm32f407_t gui_can;
|
|
set_devboard_v1_stm32f407_init(&gui_can, &hcan, 7, 3,
|
|
app_read_register, app_write_register, NULL,
|
|
app_handle_boot_frame, NULL);
|
|
for (;;) set_devboard_v1_stm32f407_poll(&gui_can);
|
|
```
|