标题: 51单片机发送一组数据,为啥会中间断开分两次发送啊? [打印本页]

作者: 溜溜小白    时间: 2023-5-12 17:50
标题: 51单片机发送一组数据,为啥会中间断开分两次发送啊?
51单片机发送一组数据,为啥会中间断开分两次发送啊,,我设置的是1s间隔发送,求大神赐教啊

2.png (4.94 KB, 下载次数: 74)

2.png

作者: Hephaestus    时间: 2023-5-12 18:45
你自称1s间隔,但是图中间隔是126ms!
作者: mtt661    时间: 2023-5-12 19:20
放程序啊,你这神仙来了也回答不了。
作者: li64331218    时间: 2023-5-12 20:59
显示不过来?
作者: mtdzok    时间: 2023-5-12 21:19
你这个不是分两次发送,只是传输被某种因素打断造成间隔变长,调试工具认为是两个包,要认真分析时间戳。上边也说了间隔和你描述的也不一样
作者: coody_sz    时间: 2023-5-12 21:25
楼主用示波器看一下就知道了。
作者: liucan2020    时间: 2023-5-13 08:44
下一个接收到的时间减去上一个接收到的时间=127mS,9600的波特率,发不过来了。把程序贴出来看看
作者: zch5200    时间: 2023-5-13 12:36
五楼正解,是接收端的串口助手当成了2个包
作者: 溜溜小白    时间: 2023-5-19 15:11
liucan2020 发表于 2023-5-13 08:44
下一个接收到的时间减去上一个接收到的时间=127mS,9600的波特率,发不过来了。把程序贴出来看看

大佬帮忙看看,这个是代码,和接收的时间,实在是找不到原因了,谢谢

作者: 溜溜小白    时间: 2023-5-19 15:13
mtt661 发表于 2023-5-12 19:20
放程序啊,你这神仙来了也回答不了。

这个是程序和接受时间,就是想实现能够发送一串数据,但是莫名的中间会断开,实在是能力不行,帮忙指路下吧,谢谢

捕获.JPG (37.81 KB, 下载次数: 66)

捕获.JPG

捕获.JPG1.JPG (39.34 KB, 下载次数: 67)

捕获.JPG1.JPG

捕获.JPG3.JPG (39.25 KB, 下载次数: 62)

捕获.JPG3.JPG

作者: ydatou    时间: 2023-5-19 17:30
代码我看了,没啥问题。
应该是你串口助手配置不当造成的。
作者: 暖西夏    时间: 2023-5-19 18:16
串口助手的超时时间改大一点
作者: 溜溜小白    时间: 2023-5-19 18:28
暖西夏 发表于 2023-5-19 18:16
串口助手的超时时间改大一点

解决了,我把串口助手的分包时长修改大点就没问题了,非常感谢,大佬威武
作者: lsgzq    时间: 2023-5-23 17:27
检查一下字符超时
作者: 123456ZXC1    时间: 2023-5-24 12:33
数据长度超过串口发送缓冲区大小:单片机的串口发送数据时,使用一个发送缓冲区来存储待发送的数据。如果一次发送的数据长度超过了缓冲区的大小,就会导致数据被分成多次发送。你可以检查一下串口发送缓冲区的大小,并确保你的数据长度不超过该限制。  发送数据的速度过快:如果你在发送数据时没有适当的延时或控制发送速度,可能会导致数据被分成多次发送。在每次发送完一组数据后,建议在发送下一组数据之前加入适当的延时,以确保数据被完整发送。  中断发生:某些情况下,中断的发生可能会导致数据发送被中断并分成多次发送。例如,如果你的单片机使用了其他中断,并且在发送数据时发生了该中断,会导致发送过程被中断。确保你的中断处理程序没有干扰到串口发送操作。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1