【 STM32Fxx串口问题-发送时间-发送字节拉长-每一位与下一位也拉长->>记录问题以及解决方式-复盘】
创始人
2024-04-10 04:07:17
0

【 STM32Fxx串口问题-发送时间-发送字节拉长-每一位与下一位也拉长->>记录问题以及解决方式】

  • 前言
  • 环境
  • 问题描述
        • (1)测试uart5时:
        • (2)测试uart1时:
  • 原因点
  • 解决方式
  • 细节点
  • 总结

前言

在做项目的时候,整个系统比较复杂,发现整个系统开机比较慢,整个系统,下层比较简单的,只要判断电池相关数据,就可以开机,但是为什么会慢,两三天,都没找到原因,一直以为其它地方影响。大概经历了一周,做了多次交叉实验和测试,后来发现,还是底层干扰,这个前没注意到,只是硬件稍微的不同,软件本身有bug,放大了这个现象,导致本次事故,另外当时出现问题时,查找网上,还没有类似问题,我这个可能算是第一例,第一个写这个问题的,吃一堑长一智吧。

环境

本次因为是项目中的系统环境,只能大致描述下环境。
软件环境:运行在STM32F4xx芯片下,但是在整个系统中,系统还有其它设备。

问题描述

表现现象是,在系统开机时,开机时间比以往要慢,这个用了很长一段时间,都没有出现问题,并且交叉实验,有的设备上行,有的设备不行。

(1)测试uart5时:

后来使用逻辑分析仪抓几个串口波形,发现uart5,数据被拉长了,uart5是堵塞发送,或者说轮询发,波形如下。
在这里插入图片描述
这点其实很奇怪,我当时也是第一次看到这样的数据,后来屏蔽所有外围设备,单独使用uart5轮询发送,波形如下,这样数据才是我们认为正常数据。
在这里插入图片描述

(2)测试uart1时:

后来又使用逻辑分析仪抓取uart1波形,uart1使用的是DMA发送,发现数据为也被拉长了,波形如下。
在这里插入图片描述
这其实很奇特,串口之间好像有了某种默契已于,都拉长了字节,这肯定是不对的,交叉实验,发现另一台uart1没有这样的问题。
在这里插入图片描述

原因点

因为使用嵌入式操作系统RTOS,以为是这部分影响,后来交叉实验,去掉外围设备,发现拿掉跟uart4通信的设备,问题没有了,当时以为是跟那个设备有关系,如下图,是抓取得逻辑分析仪波形。
以下为整个波形:
在这里插入图片描述
以下为其中细节
在这里插入图片描述
然后更换硬件,对比测试。
在这里插入图片描述
其中Rx应该是干净的。当时并没有用到Rx,只用Tx做DMA数据推送,不用有这样奇怪的波形。

后来查代码,发现在回调函数里虽然没用的Rx接收,但是初始化,并且没有删除阻塞发送,到这本次事故。
这里我拿之前文章里的代码举个例子:

软件STM32cubeIDE下使用STM32F4xx配置uart1和uart5数据互相透传-基础样例
就是透传实验的例子,如下,当时因为测试,想在主函数里发送,但是没成功,并且本身也是基础样例,就没深入调试。
在这里插入图片描述
并且在细节里也特意说明了。
在这里插入图片描述

解决方式

在回调函数里,尽量不要做过多的操作,不然会造成意想不到错误。
这次就看出可以遭成所有线程变慢的现象。

细节点

(1)硬件不一致,导致软件放大现象。
代码其实运行了一段是时间了,在多个设备运行了,之前没有问题,本次正好硬件稍微不稳定一段时间,就导致如此现象,这很难查到,如下图,测试了其它设备波形,和本次,上电时对比图。
在这里插入图片描述

(2)硬件上电前,为不确定态。
根据硬件大佬描述,硬件起电时,就是不确定状态,除非加入一些特定三态门什么的。

总结

吃一堑,长一智。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...