野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6691|回复: 4

调用SysTick后无法跳出中断

[复制链接]
发表于 2022-8-31 11:56:03 | 显示全部楼层 |阅读模式
跟着火哥写完SysTick定时器后,综合前面的中断,我写了如下函数:
主函数

野火论坛202208311147116990..png
中断函数和定时函数
野火论坛202208311146229256..png 野火论坛202208311147402278..png
问题:在主函数运行时按下KEY键可以响应,但是响应结束后不能跳出中断回到主函数;
         中断中使用了第18章配置的定时器。
我自己测试:不使用固件库编的定时器,使用就如之前的循环空函数就能跳回主函数。
在中断结束后按KYE1和KEY2还可以继续响应中断,但就是回不到主函数。
还有一个小问题:就是Keil5烧录后会先执行中断然后再执行主函数;
                          复位、重启都不会出现这样的情况,这又是为什么?
有大佬可以解答嘛?


野火论坛202208311146147070..png
回复

使用道具 举报

发表于 2022-9-1 09:14:26 | 显示全部楼层
咱们讨论一下。如果主函数正在执行延时。啪一下进到exti中断,重新执行延时,并且在中断中,把systick的结束标志给他关掉了。那么等中断完成后,systick的结束标志还能查到吗。
(可以用调试功能,看一下是不是在延时函数的while循环里)
回复 支持 反对

使用道具 举报

发表于 2022-9-1 09:27:40 | 显示全部楼层
刚试了一下,就是中断里已经把他的关了。。。enable=0;
野火论坛202209010926446827..png
回复 支持 反对

使用道具 举报

发表于 2022-9-1 10:29:16 | 显示全部楼层
看来每一个细节都会影响成败呀!
回复 支持 反对

使用道具 举报

发表于 2022-9-2 10:49:41 | 显示全部楼层
可能是 当你进入外部中断时使用滴答延时的话会打断外部中断造成中断嵌套这个原因
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 22:16 , Processed in 0.042778 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表