硬汉嵌入式论坛

 找回密码
 立即注册
查看: 779|回复: 2
收起左侧

[技术讨论] HAL库串口发送字符间间隔太长导致Modbus通信失败

[复制链接]

78

主题

691

回帖

925

积分

金牌会员

积分
925
发表于 2022-10-5 18:56:37 | 显示全部楼层 |阅读模式
实验条件:
QT自带的Modbus Slave,单片机做主站,通信的时候时不时的出现从站响应超时,抓日志发现主站(单片机)有时字符间间距过大(9600波特率,从站T35=4ms.,嗲调用用HAL库串口的输出字符间输出有时候远远大于4ms,从站解析失败)。大家又遇到这种问题吗?都怎么解决的
发送函数:
[C] 纯文本查看 复制代码
HAL_UART_Transmit(&huart1, buff, len, 0xFFFF);

通信抓到的数据:
1664967355537.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107072
QQ
发表于 2022-10-7 00:55:08 | 显示全部楼层
这个是查询方式发送,很容易被抢占,可以考虑使用DMA或者中断方式发送
回复

使用道具 举报

78

主题

691

回帖

925

积分

金牌会员

积分
925
 楼主| 发表于 2022-10-7 01:45:08 | 显示全部楼层
eric2013 发表于 2022-10-7 00:55
这个是查询方式发送,很容易被抢占,可以考虑使用DMA或者中断方式发送

好的谢谢硬汉
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-16 12:39 , Processed in 0.240370 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表