秋加数码网

stm32的串口电脑不能识别?(stm32 串口有错误)

  1. stm32的串口电脑不能识别?
  2. stm32不能进入串口收中断求解答?
  3. STM32串口通讯收不到数据求助?
  4. 串口丢数据概率高吗?

stm32的串口电脑不能识别?

第一步要查看硬件有没有连接好,串口线与电脑连接好后,在设备管理器即会看到串口线对应的端口,如果没有看到说明硬件连接存在问题,需要一步一步排除。

然后勇串口调试助手和stm32进行通行,通过简单的指令来判断stm32的好坏,最后进行调试就可以了。

stm32的串口电脑不能识别?(stm32 串口有错误)-图1

stm32的串口电脑不能识别?(stm32 串口有错误)-图2

stm32不能进入串口收中断求解答?

示波器能看到波形吗?也可能是因为硬件上直接就没有看到波形导致的STM32的例程看了没有问题。初始化配置好了能进串口中断的。

STM32串口通讯收不到数据求助?

先排除硬件原因,看线路对不对,用示波器看下通信波形,再看软件程序,最好是能仿真一下,把断点放在串口中断中看串口接收数组里面有没有数据。

串口丢数据概率高吗?

串口丢数据概率高。

stm32的串口电脑不能识别?(stm32 串口有错误)-图3

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

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

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

stm32的串口电脑不能识别?(stm32 串口有错误)-图4

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

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

到此,以上就是小编对于stm32串口错误处理的问题就介绍到这了,希望介绍的4点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

分享:
扫描分享到社交APP
上一篇
下一篇