历史上的今天
返回首页

历史上的今天

今天是:2025年04月22日(星期二)

正在发生

2021年04月22日 | STM32单片机常见的工作异常现象分析及解决方案

2021-04-22 来源:eefocus

贴了两块样板,烧写同样的固件。其中一块工作正常,但是另外一块出现了很奇怪的现象:在线调试正常;每次烧写完后工作正常;重新上电有时候工作正常,有时候工作不正常;工作不正常时,按下复位按键,恢复正常。


工作异常现象:main函数中的系统运行指示灯不闪烁,但是初始化过程中点的一个灯是亮的!说明程序运行一段时间后,不工作了。


由于在线调试模式,板子工作正常,无法通过在线调试的方式判断程序运行的异常状态。


分析可能的原因:


1、初始化过程中,程序陷入死循环。但程序初始化过程中,没有while(1)死循环的代码。


2、板子上电后不断复位,导致无法进入main函数中的while(1)循环。


问题查找:


硬件:


1、确认BOOT0管脚接10kΩ欧电阻下拉到地;


2、RC上电延时复位电路中,R为10kΩ,C由0.1uF改为10uF,现象依旧;


3、MCU3.3V电源纹波很小,排除电源问题。


好像从硬件上查不出什么问题。只能从板子上唯一点亮的灯下手了。


软件:


1、好像跟硬件复位没什么关系,为了确认板子是不是在不停复位,在点亮的那个灯前加了100ms延时,如果是在复位,那灯就应该不停闪烁。但那个灯还一直是亮的,说明是程序运行出错,不运行了。


2.不断修改led灯在初始化代码中的位置,最终定位到导致运行出错的代码:配置一个GPIO为外部中断,跳变沿触发,上拉。把上拉改为NOPULL,工作一切正常。


问题定位:配置为外部中断的GPIO悬空导致。之前工作正常的样板是一直有连接到那个IO脚的外接模块,这个工作不正常的没有接,导致IO管脚电平不确定。由于电平的不确定,在初始化的瞬间有一个跳变沿,导致程序进入外部中断服务函数。在中断服务函数中,要读取一个定时器的寄存器的值,但是要读取的定时器可能还没有完成初始化,导致读取失败,程序运行异常。


解决办法:1、PULL模式有PULLRISING改为NOPULL;


2、timer在这个外部中断之前进行初始化。


推荐阅读

史海拾趣

芯佰微(Corebai)公司的发展小趣事

作为一家有社会责任感的企业,芯佰微始终关注环境保护和可持续发展。公司积极推广绿色生产技术和资源循环利用方案,减少生产过程中的能源消耗和废弃物排放。同时,芯佰微也积极参与社会公益活动,为社区和环境贡献自己的力量。这些举措不仅体现了公司的社会责任担当,也为其赢得了更多客户和合作伙伴的信任和支持。

FILTRONETICS Inc公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,FILTRONETICS深知技术创新的重要性。公司加大了对研发的投入力度,成立了专门的研发部门和技术中心,致力于新技术、新材料和新工艺的研发和应用。同时,公司还积极关注环保和可持续发展问题,致力于生产绿色、环保的电子产品。通过不断的技术创新和可持续发展实践,FILTRONETICS不仅保持了技术领先地位,也为社会的可持续发展做出了贡献。

CIRCUITCO公司的发展小趣事

CIRCUITCO公司自创立之初,就致力于电子电路技术的研发。在某一时期,公司投入大量资源研发新型高性能电路板。经过数年的努力,团队终于成功开发出一款具有更高集成度、更低能耗的电路板。这一突破不仅提升了公司的技术实力,也使其在市场上获得了显著的竞争优势。随着这款新产品的推出,CIRCUITCO公司的业绩迅速攀升,成为行业内的佼佼者。

Advanced Components Industries Inc公司的发展小趣事

在国内市场取得一定成绩后,ACI开始寻求国际合作,以进一步拓宽市场。公司与国际知名电子企业建立了战略合作关系,共同研发新产品,开拓新市场。这些合作不仅提升了ACI的技术水平,还为其带来了更多的国际订单。

通过国际合作,ACI的产品逐渐进入国际市场,公司的影响力不断扩大。同时,ACI也积极参与国际电子行业的交流活动,与同行分享经验,学习先进技术,不断提升自身实力。

ECI公司的发展小趣事

ECI公司深知品质对于企业生存的重要性。因此,公司建立了严格的质量管理体系,从原材料的采购到生产流程的每一个环节都进行严格的质量控制。此外,ECI还引入了国际先进的质量检测设备和技术,确保产品的每一个细节都符合高品质的要求。正是这种对品质的坚持和追求,让ECI公司在竞争激烈的电子行业中脱颖而出。

Hamlin ( Littelfuse )公司的发展小趣事

随着全球环保意识的不断提高,ECI公司积极响应绿色环保的号召。公司投入大量资金研发环保型电子产品,采用环保材料和工艺生产产品。此外,ECI还积极参与各类环保公益活动,宣传环保理念。这种对环保的关注和投入不仅赢得了消费者的认可和支持,也为公司树立了良好的社会形象。

问答坊 | AI 解惑

早就想参加飞思卡尔技术论坛,这次终于有机会了

做芯片这行好几年,各种技术会议也参加了不少,只是飞思卡尔的技术论坛还没有去过。一直想参加,毕竟属于行业的老大啊!可是哪有那么容易! 今年的飞思卡尔大学生智能车赛开办了一个博客大赛,参与投票的工程师就有机会参加技术论坛。赶紧去投 ...…

查看全部问答>

四川省大学生电子设计竞赛西南科技大学赛区竞赛题目-远程温湿度测量系统

本帖最后由 paulhyde 于 2014-9-15 04:20 编辑 电子竞赛题目-远程温湿度测量系统 一、电子竞赛题目任务: 制作一个远程温湿度测量仪,该测试仪具有温湿度测量和远程显示等功能。其结构框图如下: 二、电子竞赛题目要求: 1、基本要求 ( ...…

查看全部问答>

PB编译项疑问??

请问大家这个PB的编译选择项有什么不同么?之前我编译的时候,修改了一点就要重新编译,一等就是一个小时。我在网上找到一个快速编译的方法,可是这好像只是针对修改了的驱动而言。 所以我有几个疑问,还望大家能帮我解答。 如果我只是增加驱动, ...…

查看全部问答>

关于AGC(Automatic Gain Control)和ADC “100分哦”

请教各位达人,我想找一款内置AGC功能的ADC,ADC最好为12bit,20MSPS 我网络上找了一些资料都没有发现有这样的ADC,许多电路都是内置模拟AGC再加一个ADC来实现的 谁能告诉我有没有这样的ADC啊?有的话提供型号,最好能有PDF文档,立即送100分…

查看全部问答>

modem怎样判断来电是电话还是传真呢

发现不管是电话还是传真 modem收到的都只是RING... 怎样判断到底是电话还是传真呢 谢谢。。…

查看全部问答>

c167CR存储器介绍

C167CR是汽车电子行业应用比较广泛的一种单片机,我正在做相关项目,在这里介绍一下其存储器及外部总线,和大家分享。 (第四点是针对评估板kitCCON-167评估板所作的相关寄存器配置) 1.最大寻址空间是16M 2.片内存储器     &nb ...…

查看全部问答>

转让全新的ARM开发板

因工作繁忙,本人现转让一全新的ARM7开发板:EasyARM2131开发平台 地点:上海市闵行区 电话:13681848395 清单如下: 1.EasyARM2131开发实验板 1 台 2.EasyJTAG-H 1 只 3.SD CARD PACK 1 块 4.杜邦-1P测试线 9 条 5.20P仿真电缆 1 条 6.R ...…

查看全部问答>

STM32的USB2.0的速度可以到多少?12Mor480M?

手册上说: USB 2.0 full speed interface但是文件又说:The STM32F103xC, STM32F103xD and STM32F103xE performance line embed a USBdevice peripheral c ...…

查看全部问答>

运放稳定性

运算放大器的稳定性设计,中文材料,不太清楚在这个论坛里有没有人上传过,要是没有会陆续更新。谢谢~~ 第一部分:环路稳定性基础 第二部分:运放网络、SPICE分析…

查看全部问答>

重油椭圆齿轮流量计

重油椭圆齿轮流量计是一种容积式流量计,测量原理是液体在流量计种流动,在进出口两端会形成差压,在流量计种的椭圆齿轮在轴上不停的旋转,齿轮间的空隙将充满液体,液体随齿轮的旋转被排出,齿轮的转数和流量值成正比关系,测出椭圆齿轮的转数即 ...…

查看全部问答>