永发信息网

单片机串口通信数据丢失原因

答案:4  悬赏:70  手机版
解决时间 2021-01-14 21:45
单片机串口通信数据丢失原因
最佳答案
单片机串口通信数据丢失很大一部分原因是:mscomm的inputlen设置设置有问题;
  解决方案:
  mscomm的inputlen设置为0吧(读取整个缓冲区),读完一次,清空一次缓冲区试试;
  参考如下:
  窗体初始化事件中建议将mscomm的这几个属性做如下设置:
  mscomm.inbuffersize=8 '接收缓冲区大小
  mscomm.rthreshold=4 '促发oncomm事件的字符数
  mscomm.inputlen=0 '默认读取整个缓冲区
  mscomm.inputmode=cominputmodetext '以文本方式接收
  mscomm.inbuffercount=0 '清空缓冲区
  oncomm事件中,建议处理完接收数据后用mscomm.inbuffercount=0清空缓冲区
全部回答
利用按键通过串口向上发送对应命令,收到上面发下来的数据在LCD上显示。第一次按按键串口发送的指令正确且能把数据正确的显示出来,在第二次按按键串口发送的指令出现丢失的状况,故没有数据传下来。按第三次,发送的指令又正常且能把数据正确的显示出来。请问我串口哪里出现问题,或者是不是那个地方需要延迟久一点,望高手指点!

波特率设置问题!追问我的两块单片机设置的波特率都是9600,晶振都是11.0592追答按键是否消抖处理?追问嗯 ,按键有消抖,追答按键是否有定时?追问你所说的定时是指哪方面的?按键还需要定时?亲,表玩我了!我是真心不懂,求教育呀!追答长按键,还是短按键,需要定时来判断!追问亲,谢谢你的回答!虽然不是这方面的问题,还是谢谢你了!
这个跟按键木有关系,应该是串口那个地方出现问题或者某个参数未有重新初始化!追答LCD的型号?
尝试每次发送之前初始化关键参数追问这个我也想过,但是关键的参数是指那一块?接收缓存还是LCD上的一些参数?指点一下追答我用串口也是会出现经常性的乱码,尤其在电脑和单片机通讯时,应该和LCD无关追问问题已经找到了,谢谢了!串口虽然简单,但是还是需要注意细节呀!
程序逻辑混乱,出现不确定现象,测试结果时好时坏。理顺一下程序思路,保证采集按键、发送、接收数据、显示为一个完整的周期跟后面其他的操作没有关系。追问关键是出现的错误不是杂乱无章的,错误出现的比较有规律的。

两块单片机(A(上位机),B)上电,B控制LCD显示一个主界面,通过B的外设键盘控制进入一个子界面并向上位机发送一串指令(错误出现在这个地方),A收到相应的指令后向下发送一串数据,B接收到数据通过LCD显示。

错误出现,打开串口16进制显示发送的指令不正确。怀疑是数据错乱或者丢失!追答怎么样的规律,可以贴出来看看吗?或许你的串口接收缓存区(不是单片机的特殊功能寄存器,而是你存放数据的内存区域)没有清理,导致显示的数据并不是当前接收到的。接收数据之前或是显示之后就把缓冲区清理,保证接收到什么数据存放的就是什么数据,即便接收到的是错误的数据也能检查出来是什么问题。追问

正确的ASCII码是ww2感觉是你发送函数的问题追问在没有接收数据的时候,一切都很正常!追答在没有接收数据的时候,一切都很正常!这本身就是不正常的事情!!
你把代码贴上来看看吧。追问要不我加你Q 呵呵 求带呀
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
车子脱审5个月而且有一个扣6分罚200的罚单
什么是会计周期
在CAD中,一个直径为110的圆中,怎么可以
北京大观园入口处有一座假山石叫“曲径通幽”
为什么要代缴昆山社保,代缴昆山社保有什么好
汪小菲是她的前男友,这个女明星是谁
gta4运钞车在哪能找到
【高分求】求一些精美图片或者插画。内容大概
DNF韩服现在出了60级的CC套图纸吗,国服大概什
那个梦想中国的曹雪唱的那个什么:头发甩甩,
为什么天热不好钓鱼
领取单据怎么写
西畴到龙岗汽车站有直达车吗?
甲床破裂能长好吗?
我家大厅背景墙四边填黑乌刚,请问一下里面配
推荐资讯
祝我的宝贝生日快乐怎麽翻译成英文?
噢的是啥意思
有谁能给我解释这句话麽"disappointed by man
晒太阳脸上又红又肿又痒怎么办
申头又摆尾,中间张养着四张嘴。小孩猜一个字
板绘两种颜色怎么过渡?
我c1增驾b2有小车经验实习期独自初次开9.6货
解答题已知函数y=f?(x)(x∈R,x≠0)对任
6V6推挽胆机配什么音
第八个是谁
带积的成语14个积
吃烧饼的危害
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?