- 主题:STM32遇到一个外部中断诡异问题,求支招!
你的问题简述是不是说: 单片机程序里,只要一开启中断,就会马上跳入中断?
---这个只在首次上电时这样的。 其他上电时候完全正常(即使在我没有清中断标志位的时候,也是正常的)。---这个才是最疑惑我的地方。
至于其他的问题,现在确实已经找到了规避的措施(只是规避,不是彻底解决),通过像你所说的在ISR中加了额外的判断逻辑,用是可以用了,现在我主要是想挖挖更深层次的东西。
我担心的是首次上电和其他上电系统会有什么我现在还没有发现的不同,这次只是发现了中断表现上有不同,那下次回不回有其他问题呢。这个是本贴的初衷,中断只是个引子。
【 在 feiy 的大作中提到: 】
: 你的问题简述是不是说: 单片机程序里,只要一开启中断,就会马上跳入中断?
: 如果是的,那么,这是不少单片机常见的现象。有的是因为上电后一些标志位的随机性
: 、有的是外部不稳态的误触发。
: ...................
--
FROM 101.229.127.*
“第一次上电”后,拿个镊子短一下NRST上的电容,再使能外部中断试试?
【 在 HxSailor 的大作中提到: 】
: 最近遇到个诡异问题,板上有没有兄弟看看等否提供点排查思路。
: 一个小项目,用了stm32g030f6p6,外围电路极其简单,使用内晶振,nrst接100nf电容形成上电复位电路(手册上推荐的电路)。其他就是按键和led。
: 先定义两个概念: “第一次上电”:距离上一次下电5分钟以后的第一次上电。“其他上电”:第一次上电后下电再上电,时间间隔几秒到一两分钟。
: ...................
--
FROM 183.192.29.*
第一次上电完,如果加一次上电复位,功能就会完全正常。
但是第一次上电时的上电复位波形和其他上电时候完全一致。
nrst到地的电容也改大几种值尝试过,没有效果。
【 在 nlgdczm 的大作中提到: 】
: “第一次上电”后,拿个镊子短一下NRST上的电容,再使能外部中断试试?
--
FROM 101.229.127.*
Power on reset 时间太短了。
镊子夹住复位电容上电试试。
软件方面可以试试software reset
GPIO引起的硬件终端,可以多次去读取GPIO的状态来去除干扰。
【 在 HxSailor 的大作中提到: 】
: 最近遇到个诡异问题,板上有没有兄弟看看等否提供点排查思路。
: 一个小项目,用了stm32g030f6p6,外围电路极其简单,使用内晶振,nrst接100nf电容形成上电复位电路(手册上推荐的电路)。其他就是按键和led。
: 先定义两个概念: “第一次上电”:距离上一次下电5分钟以后的第一次上电。“其他上电”:第一次上电后下电再上电,时间间隔几秒到一两分钟。
: ...................
--
FROM 120.245.132.*
加这一次上电复位的前、后分别dump出全部寄存器,比一下差异?
【 在 HxSailor 的大作中提到: 】
: 第一次上电完,如果加一次上电复位,功能就会完全正常。
: 但是第一次上电时的上电复位波形和其他上电时候完全一致。
: nrst到地的电容也改大几种值尝试过,没有效果。
: ...................
--
FROM 183.192.29.*