PLC使用的是LPC3250的MCU,在进行串口通讯时使用UART4,现在问题是发3帧数据,如下:
12 25 0A
41 41 20 20 20 30 2E 30 30 30 20
0A 25 14
帧之间发送时间间隔5ms,PLC扫描周期9ms,经常出现第2帧丢失几个字节的情况,有懂这个的能解释一下吗?
![](https://profile-avatar.csdnimg.cn/3d5be06e611342fbbc37fb009bf08fbd_weixin_44272593.jpg!4)
LPC3250丢失数据
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 嵌入式吴彦祖 2022-03-29 18:07关注
我说的不一定对哈!
怀疑 1.扫描周期是9ms就是每隔9ms读一次串口存数据的buffer意思吗?如果是的话,那就是读取速度跟不上发送速度,你刚读完第一帧,第二帧发过来了,你还占用哪个缓冲串口数据的buffer呢!你使用完的时候,串口这个缓冲buffer需要清空留着接受下次数据,这个缓冲区就同时被清空任务和输入任务两个人使用,你现在知道为啥会出现乱码的问题了吧!
解决办法!
把你的扫描周期缩短到3ms一下,但是这个方法不靠谱!!!!
把你发送每帧数据的时间拉长到15ms,这样我感觉会稳妥一点!解决 1无用
悬赏问题
- ¥15 VESTA绘图原子颜色显示异常
- ¥15 天翼云搭建多ip l2tp
- ¥30 matlab求解刃位错方程
- ¥15 python实现CAD识图
- ¥15 如何实现在renpy中创建并应用不同大小尺寸对话框?
- ¥15 table表格有一列是固定列 滑动到最下面时 固定的那一列有几行没显示出来
- ¥20 单细胞数据注释时报错
- ¥15 vscode编译ros找不到头文件,cmake.list文件出问题,如何解决?(语言-c++|操作系统-linux)
- ¥15 通过AT指令控制esp8266发送信息
- ¥15 有哪些AI工具提供可以通过代码上传EXCEL文件的API接口,并反馈分析结果