liuyang21168 发表于 2023-12-4 10:53:16

求助:定时器的计时问题

定时器配置为16位,不自动装载,在定时中断函数执行期间,定时器是否继续计时?

liuyang21168 发表于 2023-12-13 10:14:20

哪位高手知道,请回复。

乘风飞扬 发表于 2023-12-13 17:43:08

其实使用仿真跑一下就知道了,会继续计时的:

泰勒soc 发表于 2023-12-30 16:14:44

中断函数内不会计数

liuyang21168 发表于 2023-12-30 19:42:25

你说的对,在定时中断函数内,返回之前,装载定时寄存器的值,然后中断返回。
只有在执行最后一条“中断返回指令”时,硬件才会清楚中断溢出标志,这样,
才会触发定时器继续计时。

_奶咖君_ 发表于 2023-12-30 21:08:41

liuyang21168 发表于 2023-12-30 19:42
你说的对,在定时中断函数内,返回之前,装载定时寄存器的值,然后中断返回。
只有在执行最后一条“中断返 ...

那请问在中断中还需要再开启定时器的计数使能位么?

liuyang21168 发表于 2023-12-31 01:52:34

需要开启,当中断函数结束后,继续接收下一次定时中断

wangxiangtan 发表于 2023-12-31 08:54:07

我理解是自动重装载、中断处理函数里面不清除定时器使能的时候是会继续计时;相反,手动装载、清除定时器使能的时候,定时器就不计时了

_奶咖君_ 发表于 2023-12-31 11:40:40

liuyang21168 发表于 2023-12-31 01:52
需要开启,当中断函数结束后,继续接收下一次定时中断

但我还有一个疑问,,只有退出中断的时候才会开始计时这里。
就算我在中断中使能了定时器的计数使能位,定时器也不计时,只有退出了中断才会开始计时?我感觉有点儿不太对劲呢。。。OTZ

LAOXU 发表于 2023-12-31 21:46:16

楼上几位都错了~~~

无论中断是否打开, 是否响应中断, 只要定时计数器打开, 就永不停止的循环计数(通常是 16位), 碰到溢出 就置位溢出标志, 反正计数永不停止.

如果是自动重装模式, 计数到, 除了置位溢出标志外 ,还会立刻重装计数器
页: [1] 2 3
查看完整版本: 求助:定时器的计时问题