最近遇到个诡异问题,板上有没有兄弟看看等否提供点排查思路。
一个小项目,用了stm32g030f6p6,外围电路极其简单,使用内晶振,nrst接100nf电容形成上电复位电路(手册上推荐的电路)。其他就是按键和led。
先定义两个概念: “第一次上电”:距离上一次下电5分钟以后的第一次上电。“其他上电”:第一次上电后下电再上电,时间间隔几秒到一两分钟。
电路的功能是:上电后按按钮一次,触发一次中断,对应的led翻转一次,(就这么简单,简直就是开发板例程级别)
问题是:第一次上电的时候,只要一使能外部中断,马上就会触发一次外部中断(但是此时,外部中断GPIO信号没有翻转,没有上升沿产生,示波器实际测量证实的),无论我什么时候(延迟1s,5s,30s都试过)使能这个中断都会在“第一次上电”时直接触发这个中断。
这种情况下,马上下电,间隔数s到一两分钟再上电,则一切功能和我设计的逻辑功能一样,不会有任何异常了。即“其他上电”时,不会在使能外部中断的同时马上就触发该外部中断,而是会等待真实的外部中断触发信号到来才会触发第一次中断。
排查过电源上电、上电复位、按钮gpio信号(中断触发信号),在“第一次上电”和“其他上电”时刻完全相同,没有任何差别,包括上电复位rc时序都是完全一致的。
百思不得其解,有否板友提供点思路呢?
--
FROM 101.229.127.*