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);
|
||
```
|