- freemodbus多从站移植到是stm32,按照传统的移植方法没办法直接对接HAL_UART_Receive_IT、HAL_UART_Transmit_IT函数,而且需要自己编写代码调用hal底层。并且会出现多串口容易接收ORE(over run error)。
- 从站 port.h需要修改
- 头文件如下修改。不添加stm32f1xx_hal.h 的话编译会报警
-
#include "stm32f1xx_hal.h" #include "stm32f1xx_hal_uart.h"
-
MB_RTU_DCB结构体增加以下
-
//以下是自己新增,非标准自带 UART_HandleTypeDef *pMBhuart; //用于将mbrtu和 huart绑定,方便后面变成
- stm32f1xx_hal_uart.c 需要修改
- 头文件
-
#include "port_s1.h" #include "port_s2.h" #include "port_s3.h"
-
UART_Receive_IT()函数增加以下,如果后续增加了主站,该处要屏蔽主站。
-
//----------插入freemodbus 从站 T3.5中断,需要帮绑定主站------------ /* 判断是哪个串口触发的中断 */ /
freemodbus多从站内部结构解析,以及如何移植到STM32 HAL库
最新推荐文章于 2024-07-01 16:29:33 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)