_奶咖君_
发表于 2024-1-1 08:10:45
LAOXU 发表于 2023-12-31 21:46
楼上几位都错了~~~
无论中断是否打开, 是否响应中断, 只要定时计数器打开, 就永不停止的循环计数(通常是 1 ...
我也是赞同如果不关定时器会一直计数的。
那重装载与不重装载的区别就是一个会从重装载值开始计数,而另一个是从零?我能这么理解么?
LAOXU
发表于 2024-1-1 14:54:44
_奶咖君_ 发表于 2024-1-1 08:10
我也是赞同如果不关定时器会一直计数的。
那重装载与不重装载的区别就是一个会从重装载值开始计数,而另 ...
是的, 理解正确 .
_奶咖君_
发表于 2024-1-3 15:01:20
LAOXU 发表于 2024-1-1 14:54
是的, 理解正确 .
妈耶,,今天上班又看了看手册,,手册上已经写的清清楚楚的了。。
真的是基本没有怎么用过这个不重装载的功能也就不怎么看这部分介绍。。。
不过我还有一点儿疑问,,,在不重装载的模式下,如果手动设置装载值,应该是需要按照关闭定时器,然后更新计数值低位,然后更新计数值高位,然后打开定时器这套流程把。。
那ISP软件-定时器计算器中给出的代码
这样子不关定时器直接更新计数值 应该是不起作用的把。
LAOXU
发表于 2024-1-4 12:42:13
_奶咖君_ 发表于 2024-1-3 15:01
妈耶,,今天上班又看了看手册,,手册上已经写的清清楚楚的了。。
这样子不关定时器直接更新计数值 应该是不起作用的把。
-------------------------------------------------------------------------------
同样起作用, 只是 手动重装, 定时时间 略为有点误差,
LAOXU
发表于 2024-1-4 12:46:07
尽管可修正, 修正到 正负 1个时钟周期.
但受中断响应影响, 有时会超差.
如有精确定时要求, 尽量用自动重装, 用 PCA, PWM 之类 模拟定时器, 都有可能产生 定时超差.
_奶咖君_
发表于 2024-1-4 13:12:20
LAOXU 发表于 2024-1-4 12:42
这样子不关定时器直接更新计数值 应该是不起作用的把。
--------------------------------------------- ...
这个我后来调试的时候看了一下,,在定时器中断中就算是有这两条语句,,从调试窗口里面看,计数值也是没有改变的继续往下运行的说,,难道说退出了中断服务函数之后,计数值就变成重装载值了?
我在试一试
_奶咖君_
发表于 2024-1-4 14:08:40
LAOXU 发表于 2024-1-4 12:42
这样子不关定时器直接更新计数值 应该是不起作用的把。
--------------------------------------------- ...
我这里录了两个视频,,一个是在中断中修改T0L 与T0H的值从调试窗口中看,计数值并不会被修改。
attach://31940.mp4
_奶咖君_
发表于 2024-1-4 14:09:57
本帖最后由 _奶咖君_ 于 2024-1-4 14:35 编辑
LAOXU 发表于 2024-1-4 12:42
这样子不关定时器直接更新计数值 应该是不起作用的把。
--------------------------------------------- ...
这个视频是出了中断服务函数T0L T0H 也不会装载成手动装载的值
attach://31941.mp4
LAOXU
发表于 2024-1-5 15:31:49
_奶咖君_ 发表于 2024-1-4 14:08
我这里录了两个视频,,一个是在中断中修改T0L 与T0H的值从调试窗口中看,计数值并不会被修改。
你要区分定时器, 是设置成手动装载 ? 还是自动装载 模式 ?
手动装载更改立刻生效 .自动装载 要到 定时时间到 , 才会自动重装.
社区闲人
发表于 2024-1-5 15:52:45
我的做法是:定时器在做串口波特率时,才使用自动装载 模式。
仅仅做为定时器使用,就设置成手动装载。