STM32
直播中

刘艳

7年用户 2320经验值
私信 关注
[问答]

stm32f407igt6更改定时器中断函数中的flag的值后,程序跑飞了是什么原因?

芯片用的是STM32f407igt6,开发环境是cubeide
具体问题如下:
        在tiM7的中断函数里,通过改变flag的值,控制单片机执行不同的函数。flag=0执行函数1,flag=1执行函数2。
        用cubeide debug的时候,在观察窗切换flag的值,中断执行十多二十次之后,就跑飞了!并且无法改变flag的值。
        在cubeIDE里按暂停或者停止都没有响应,先按了停止再按暂停,IDE才会停下来并且报错。
求问是什么原因。。
函数2里程序比较多,正常执行的话需要30多us,TIM7中断的周期设置成100us,按理说也不应该算不完啊。
因为最小系统板是自己设计的,不排除硬件上的问题。但之前用keil调试时都没有出现类似的情况

回帖(1)

王媛媛

2024-3-13 09:37:13
可能是你中断处理函数中的代码执行时间过长导致的
举报

更多回帖

发帖
×
20
完善资料,
赚取积分