定时器溢出中断条件:
1、CEN=1
2、允许定时器溢出中断,且系统总中断允许
感谢回复 yu0405jie 发表于 2018-7-10 09:40
个人感觉应该不会,,当CNT计数到达之后并不会马上溢出,而是在下一个计数来临时,CNT值变为0,同时产生溢 ...
感谢回复,那么请教一下定时器单脉冲模式:假设向上计数
cen = 1;
当计数器溢出(同时自动清除cen),请问此时cnt的值是不是变成0了呢
重新打开cen位,计数器是不是从0开始向上计数呢? jakecumt 发表于 2018-7-10 09:41
看下手册只要是可写的手动是可以设置,产生中断的,但是寄存器运行时间很快的,没必要人为设置吧? ...
cnt计数器是rw属性,应该可以读写 cloudcn 发表于 2018-7-10 12:55
估计不可能,ARM 的计数器也是数字逻辑电路
从这个理论讲你改了数据 改到 比目标值 小1 再打开CEN应该可以...
我在计数器溢出中断中,先关闭计数器,后完成一些操作,然后 想重新打开计数器开启计数,为了确保是从0开始计数,我先将cnt赋值0,然后打开计数器,这样做有问题么? weiwei4 发表于 2018-7-10 14:32
应该是不会的,要打开定时器才行吧,定时器不打开,那些溢出逻辑应该不会动作的 ...
感谢回复应该是你说的这样子 不可以。
当开启计数器时,CNT的值是只读的。
只有关闭计数器,CNT的值才可以写入。 无薪税绵 发表于 2018-7-11 06:57
不可以。
当开启计数器时,CNT的值是只读的。
只有关闭计数器,CNT的值才可以写入。 ...
感谢回复,参考手册上CNT寄存器标注的是rw,可读可写,没有查到说开启计数器时是只读的呢。
你是在哪个文档上看到的? miraclexue 发表于 2018-7-10 16:52
我在计数器溢出中断中,先关闭计数器,后完成一些操作,然后 想重新打开计数器开启计数,为了确保是从0开 ...
如果是周期性的中断 在溢出中断中清除中断标志位即可,其它的操作硬件都帮你做了,不用关计数器,改CNT
注意的是溢出中断的执行可能比CNT的值延后一些(受压栈指令周期,高优先级中断等因素影响),在中断函数完成前CNT的值会大于零 如果你要求多少个计数周期进进入下次中断时 是可以这样操作的,
其实你可以这样理解 计数器以精确的 固定的 时间间隔置中断标记,但是有中断标记不是立即进入中断函数,会有些延迟,并且延迟时间可能不固定
页:
1
[2]