Black~ 发表于 2025-1-27 20:07

HC32F005 Freemodbus 无法进入串口发送中断

HC32F005移植了Freemodbus,ModbusPoll使用10指令,可以修改寄存器操作,但是单片机无法进入串口发送中断,使得无法串口回复数据,有没有大神帮忙看下,代码如下

kaif2n9j 发表于 2025-2-18 17:55

检查Freemodbus的初始化过程,确保串口和定时器等底层驱动已正确初始化。特别是eMBInit函数,它负责初始化协议栈,包括串口和定时器的配置

lamanius 发表于 2025-2-18 19:02

验证串口配置,如波特率、数据位、停止位和校验位等,确保它们与ModbusPoll的设置相匹配。

q1ngt12 发表于 2025-2-18 20:12

中断配置问题,检查是否已正确配置并启用了串口发送中断。在STM32等微控制器中,通常需要在串口初始化函数中启用相应的中断(如UART_IT_TC用于发送完成中断)

y1n9an 发表于 2025-2-18 21:18

确认中断优先级设置是否合理,避免中断被其他高优先级任务阻塞。

t1ngus4 发表于 2025-2-18 22:25

建议检查串口发送中断服务程序是否正确编写并链接到中断向量表中。

q1d0mnx 发表于 2025-2-19 08:35

在中断服务程序中,确保已正确调用Freemodbus的发送完成回调函数(如prvvUARTTxReadyISR),以便协议栈能够处理发送完成事件。

p0gon9y 发表于 2025-2-19 09:47

可能是协议栈问题吧,确认Freemodbus协议栈的版本和配置是否与HC32F005兼容。检查协议栈中的发送和接收逻辑,确保它们能够正确处理数据帧和中断事件。

d1ng2x 发表于 2025-2-19 10:55

检查硬件连接,确保串口线正确连接且没有损坏。使用示波器或逻辑分析仪等工具检查串口信号,确保发送和接收信号正常。

ex7s4 发表于 2025-2-19 12:06

最好检查一下是否有其他任务或中断干扰了串口通信。确认操作系统的调度策略是否影响了串口中断的及时处理。

liu96jp 发表于 2025-2-19 14:15

仔细检查并验证串口和定时器的初始化代码。确认中断配置和优先级设置是否正确。

地瓜patch 发表于 2025-2-28 22:11

卡在哪里了?

jcky001 发表于 2025-5-27 12:43

Freemodbus初始化问题?

cr315 发表于 2025-5-27 12:43

串口配置或者中断配置问题把。。

elephant00 发表于 2025-5-27 12:44

检查硬件连接。

初级工程渣 发表于 2025-6-30 15:26

Modbus 响应数据可能未正确放入发送缓冲区。

远芳侵古道 发表于 2025-6-30 23:47

高优先级中断可能抢占了串口发送中断。
页: [1]
查看完整版本: HC32F005 Freemodbus 无法进入串口发送中断