【学习笔记】串口数据突然掉帧

描述

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
今天上班的时候
在用一个单片机写串口发送程序
让上位机不断监听
大多数情况都是正常的
只是每隔几分钟突然掉帧
数据明明是“33”
却变成“30”
还掉了帧
出现如下图情况:

串口在红色方框中严重掉帧,并且数据明明是"33" 却变成了"30",于是我百度了一下,问题主要有以下几个方面:
(1)波特率:最直接的方法就是降低波特率。(2)发送间隔: 如果条件允许,可以将发送端的发送频率降低,采用定时发送的方式,每间隔一段时间发送;如果定时50ms有掉帧,定时100ms试试。(3)上拉电阻: 根据网上有些文章提到的方法,还可以在串口接收端增加上拉电阻,有时候即使发送端没有发出数据,接收端也会误接到一些数据,频繁进入中断也会降低单片机处理效率,在电路上增加上拉电阻的目的就在于降低误接的概率,提高单片机的处理效率。 (4)不要使用过长的串口线
(5)使用外部无源晶振,不要使用有源晶振和内部晶振。
(6)检查代码,是不是串口工作时,其他的更加高级的中断打断了串口。这些方法都没有实践过,明天上班再来实践一下吧,如果同学们认为还有其他的问题,留言吧,我明天统一实操。

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分