打印

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

[复制链接]
487|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 | 只看该作者
楼主看你表达个人感觉是逻辑问题,建议楼主再确认一下整体逻辑,一般情况下应该不会有问题的

使用特权

评论回复
5
Jacquetry| | 2022-12-21 14:45 | 只看该作者
我觉得你这是程序设计逻辑的问题

使用特权

评论回复
6
jf101| | 2022-12-24 14:38 | 只看该作者
小小蚂蚁举千斤 发表于 2022-12-20 19:33
你的意思是打开中断1000us后打开timer0那就就得考虑逻辑先后以及中断跳出或是在中断内部开启定时器再跳出有 ...

应该是按照你的这个逻辑进行程序编写,感觉楼主的逻辑比程序设置问题大

使用特权

评论回复
7
sonicll| | 2022-12-26 17:35 | 只看该作者
timer_init()这个函数结尾会产生一次软件update事件,会导致中断标志置位,你在使能中断之前,先清除一下中断标志

使用特权

评论回复
8
tpgf| | 2023-1-4 16:47 | 只看该作者
不是呀 这要看你的中断类型啊 像是定时器中断就不一定啊

使用特权

评论回复
9
paotangsan| | 2023-1-4 16:55 | 只看该作者
不是的 很多中断方式都不是中断使能就会立刻进入的

使用特权

评论回复
10
renzheshengui| | 2023-1-5 08:23 | 只看该作者
不是的 大部分的中断都是开启之后满足要求了才进入中断的

使用特权

评论回复
11
wakayi| | 2023-1-5 09:04 | 只看该作者
开启中断和初始化是不是时序有些问题啊

使用特权

评论回复
12
wowu| | 2023-1-5 09:15 | 只看该作者
应该不是立刻进入中断的  楼主检查一下定时器的初始化代码吧

使用特权

评论回复
13
xiaoqizi| | 2023-1-5 09:57 | 只看该作者
在进入中断的时候观察一下定时器计数器寄存器的数值是否是对的

使用特权

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

本版积分规则

67

主题

1531

帖子

0

粉丝