打印
[其他ST产品]

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

[复制链接]
806|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
powerantone|  楼主 | 2023-9-26 11:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

使用特权

评论回复
沙发
香水城| | 2023-9-26 14:40 | 只看该作者
这个最好结合代码看看。

你把flag设置volatile型全局变量,在主程序里对它判断再调用相关函数会怎么样?

使用特权

评论回复
板凳
MessageRing| | 2023-9-30 20:04 | 只看该作者
试试把编译器优化调低点

使用特权

评论回复
地板
stormwind123| | 2023-10-8 10:20 | 只看该作者
如果flag变量的数据类型与中断函数中使用的数据类型不匹配,可能会导致程序崩溃或跑飞。

使用特权

评论回复
5
probedog| | 2023-10-8 10:21 | 只看该作者
可能是中断函数的优先级设置不正确

使用特权

评论回复
6
classroom| | 2023-10-8 10:21 | 只看该作者
如果中断函数在处理期间发生了另一个中断,可能会导致中断嵌套。在这种情况下,第二个中断可能会在第一个中断处理程序完成之前被延迟执行。这可能会导致程序状态不一致,从而导致程序跑飞。确保在中断处理程序中正确地处理中断嵌套的情况。

使用特权

评论回复
7
Henryko| | 2023-10-10 13:18 | 只看该作者
跑飞大概率还是自己程序的问题

使用特权

评论回复
8
AloneKaven| | 2023-10-10 17:35 | 只看该作者
类型不匹配吗?

使用特权

评论回复
9
Stahan| | 2023-10-11 20:35 | 只看该作者
发出代码来看看

使用特权

评论回复
10
一只眠羊| | 2023-10-16 20:03 | 只看该作者
是不是哪里的变量导致进不到定时器里了啊

使用特权

评论回复
11
chenjun89| | 2023-10-16 20:27 | 只看该作者
flag是定义的什么变量类型,局部变量还是全局变量?

使用特权

评论回复
12
未说出口的像你| | 2023-10-16 22:30 | 只看该作者
这个不好说啊,看你的变量怎么变化的呗

使用特权

评论回复
13
在曼谷的春| | 2023-10-17 01:00 | 只看该作者
就是flag怎么改变的?是通过定时器来回切换的?

使用特权

评论回复
14
我吃小朋友| | 2023-10-17 03:30 | 只看该作者
是不是你的函数1执行超时了,此时改变flag之后就不能执行函数1,也不能执行函数2了?

使用特权

评论回复
15
月亮一键变蓝| | 2023-10-17 06:00 | 只看该作者
不懂,你是想用定时器来切换2段代码的运行方式?

使用特权

评论回复
16
失物招領| | 2023-10-17 08:00 | 只看该作者
我觉得你可以看看你的flag怎么变化的,就是用什么方式被赋值

使用特权

评论回复
17
她已醉| | 2023-10-17 11:00 | 只看该作者
你弄个修饰词我觉得能靠谱点?

使用特权

评论回复
18
将爱藏于深海| | 2023-10-17 13:00 | 只看该作者
给个初始值吧,flag,是不是OK一些

使用特权

评论回复
19
春日负喧| | 2023-10-17 15:00 | 只看该作者
那你说cubeIDE上有这样情况,keil没有?

使用特权

评论回复
20
温室雏菊| | 2023-10-17 22:00 | 只看该作者
是不是编译器的优化等级搞的鬼啊?或者是编译器的问题?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

556

主题

2409

帖子

4

粉丝