定时中断只要打开是否马上进入中断吗

[复制链接]
1333|12
 楼主| MessageRing 发表于 2022-12-20 16:48 | 显示全部楼层 |阅读模式
我使用GD32F303单片机编写了一个应用,我的目的是在打开中断后延时1000us后打开TIMER0定时器输出,可是timer_interrupt_enable(TIMER6,TIMER_INT_FLAG_UP);执行后,程序马上进入中断,而不是等待1000uS后才进入中断。

是不是只要起开中断就进入中断,等待下一个周期在中断?


Stahan 发表于 2022-12-20 19:11 | 显示全部楼层
不是。定时器计数到某个特定值才会产生中断。
小小蚂蚁举千斤 发表于 2022-12-20 19:33 | 显示全部楼层
你的意思是打开中断1000us后打开timer0那就就得考虑逻辑先后以及中断跳出或是在中断内部开启定时器再跳出有个逻辑问题,需要你自己去操作的
szt1993 发表于 2022-12-21 10:20 | 显示全部楼层
楼主看你表达个人感觉是逻辑问题,建议楼主再确认一下整体逻辑,一般情况下应该不会有问题的
Jacquetry 发表于 2022-12-21 14:45 | 显示全部楼层
我觉得你这是程序设计逻辑的问题
jf101 发表于 2022-12-24 14:38 | 显示全部楼层
小小蚂蚁举千斤 发表于 2022-12-20 19:33
你的意思是打开中断1000us后打开timer0那就就得考虑逻辑先后以及中断跳出或是在中断内部开启定时器再跳出有 ...

应该是按照你的这个逻辑进行程序编写,感觉楼主的逻辑比程序设置问题大
sonicll 发表于 2022-12-26 17:35 | 显示全部楼层
timer_init()这个函数结尾会产生一次软件update事件,会导致中断标志置位,你在使能中断之前,先清除一下中断标志
tpgf 发表于 2023-1-4 16:47 | 显示全部楼层
不是呀 这要看你的中断类型啊 像是定时器中断就不一定啊
paotangsan 发表于 2023-1-4 16:55 | 显示全部楼层
不是的 很多中断方式都不是中断使能就会立刻进入的
renzheshengui 发表于 2023-1-5 08:23 | 显示全部楼层
不是的 大部分的中断都是开启之后满足要求了才进入中断的
wakayi 发表于 2023-1-5 09:04 | 显示全部楼层
开启中断和初始化是不是时序有些问题啊
wowu 发表于 2023-1-5 09:15 | 显示全部楼层
应该不是立刻进入中断的  楼主检查一下定时器的初始化代码吧
xiaoqizi 发表于 2023-1-5 09:57 | 显示全部楼层
在进入中断的时候观察一下定时器计数器寄存器的数值是否是对的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

74

主题

1541

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部