打印
[STM32F1]

请问stm32F103串口1的DMA方式发送数据不连续的问题

[复制链接]
875|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
2shift|  楼主 | 2021-2-26 08:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
用stm32F103zet6的串口1采用DMA方式发送数据,用串口助手接收,发现发出的数据不连续,会有超过30ms的间隔,不管是不是使用DMA中断方式,都存在这个问题,请问各位老师又遇到这种个问题的吗?怎么解决比较好。

使用特权

评论回复
沙发
2shift|  楼主 | 2021-2-26 08:37 | 只看该作者
h:\1.jpg

使用特权

评论回复
板凳
2shift|  楼主 | 2021-2-26 08:39 | 只看该作者
数据的图片

1.jpg (124.08 KB )

1.jpg

使用特权

评论回复
地板
Ankky| | 2021-2-26 08:56 | 只看该作者

无解,换单片机吧,国产型号没有这个问题。

使用特权

评论回复
5
sonicll| | 2021-2-26 09:03 | 只看该作者
你最好拿示波器看波形来确认,你看到的这个30ms间隔,很有可能是串口助手自己的问题,串口助手有可能是按照30ms时间来打印的

使用特权

评论回复
6
2shift|  楼主 | 2021-2-26 09:41 | 只看该作者
sonicll 发表于 2021-2-26 09:03
你最好拿示波器看波形来确认,你看到的这个30ms间隔,很有可能是串口助手自己的问题,串口助手有可能是按照 ...

谢谢您的提醒,我没用示波器,我直接用单片机接收,采用10ms时间判断数据发送结束的方式,看看是不是也出现串口助手出现的问题。实际发现,数据接收正常。所以上面的问题,应该是串口助手软件造成的。

使用特权

评论回复
7
Prry| | 2021-2-26 14:37 | 只看该作者
串口是字节流数据,串口助手是自动根据时间来切断显示。楼主想根据时间来判断一帧?这样是不可靠的,定义帧头帧尾来解析一帧。
参考STM32 串口DMA收/发实现,1.5Mbps波特率不翻车:https://acuity.blog.csdn.net/article/details/108367512

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

115

帖子

1

粉丝