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


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

    前言

    在做项目的时候,整个系统比较复杂,发现整个系统开机比较慢,整个系统,下层比较简单的,只要判断电池相关数据,就可以开机,但是为什么会慢,两三天,都没找到原因,一直以为其它地方影响。大概经历了一周,做了多次交叉实验和测试,后来发现,还是底层干扰,这个前没注意到,只是硬件稍微的不同,软件本身有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)硬件上电前,为不确定态。
    根据硬件大佬描述,硬件起电时,就是不确定状态,除非加入一些特定三态门什么的。

    总结

    吃一堑,长一智。

  • 相关阅读:
    STM8的C语言编程(8)--+UART应用
    单元测试UnitTest
    百度指数 Cipher-Text、百度翻译 Acs-Token 逆向分析
    day-51 代码随想录算法训练营(19)动态规划 part 12
    CAD丢失mfc140u.dll怎么办,mfc140u.dll丢失的解决方法分享
    SpringBoot2基础篇(四)—— 基于SpringBoot的SSMP整合案例
    【毕业设计】单片机远程wifi红外无接触体温测量系统 - 物联网 stm32
    DOMPurify 使用方法,如何安全地操作DOM |.sanitize()|.innerHTML|TypeScript TS
    VIO深蓝学院第五章部分作业解读
    1827. 最少操作使数组递增-贪心算法-原地修改数组
  • 原文地址:https://blog.csdn.net/qq_22146161/article/details/127910595