串口丢数据概率高吗

问问题描述

串口丢数据概率高吗,跪求大佬救命,卡在这里动不了了!

答精选答案

最佳答案

串口丢数据概率高。

串口接收端丢包严重时,如果不是因为明显错误导致,一般都是由于数据传输速度快,主控处理不过来造成的,因此想办法降低传输速度,就可以降低串口数据丢失,方法如下:

(1)波特率: 最直接的方法就是降低波特率,我做过一个小实验,用帧序号来判断丢包情况,当丢包时亮起一盏灯,波特率越大,灯闪得频率越高;

(2)发送间隔: 如果条件允许,可以将发送端的发送频率降低,采用定时发送的方式,每间隔一段时间发送;

(3)上拉电阻: 根据网上有些文章提到的方法,还可以在串口接收端增加上拉电阻,有时候即使发送端没有发出数据,接收端也会误接到一些数据,频繁进入中断也会降低单片机处理效率,在电路上增加上拉电阻的目的就在于降低误接的概率,提高单片机的处理效率,该方法我并没有亲自试过,但是加上上拉电阻效果肯定是好于不加的;

(4) 消息队列: 一般的串口中断接收,用一个全局变量数据来接收是完全没问题的,就像上文中的程序,用一个状态量来控制中断接收,当Usart1_State为8时,表示接收到了一个完整的数据包,主程序此时开始做出相应的处理,处理完之后把状态量Usart1_State 清零,中断可以继续接收。但是当接收数据量较大,较快时,会出现一个问题: 在主程序从全局变量数组里获取协议时,还没来得及处理完,发送端已经发来了数据,此时就有可能漏掉几个包,导致数据丢包。

本文来自作者[深圳道新学校]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/977409.html

赞 (0)

发表回复

本站作者后才能评论

评论列表(4条)

  • 深圳道新学校
    深圳道新学校 2026年09月30日

    我是公众科技网的签约作者“深圳道新学校”!

  • 深圳道新学校
    深圳道新学校 2026年09月30日

    希望本篇文章《串口丢数据概率高吗》能对你有所帮助!

  • 深圳道新学校
    深圳道新学校 2026年09月30日

    本站[公众科技网]内容主要涵盖:教育咨询,知识百科

  • 深圳道新学校
    深圳道新学校 2026年09月30日

    本文概览:串口丢数据概率高。串口接收端丢包严重时,如果不是因为明显错误导致,一般都是由于数据传输速度快,主控处理不过来造成的,因此想办法降低传输速度,就可以降低串口数据丢失,方法如下:(1)波特率: 最直接的方法就是降低波特率,我做过一个小实验,用帧序号来判断丢包情况,当丢包时亮起一盏灯,波特率越大,灯闪得频率越高;(2)发送间隔: 如果条件允许,可以将发送端的发送频率降低,采用定时发送的方式,每间隔一段时间发送;(3)上拉电阻: 根据网上有些文章提到的方法,还可以在串口接收端增加上拉电阻,有时候即使发送端没有发出

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们