STM32 定时器相关问题

STM32 定时器相关问题

img

img

img


如图,不知道哪里错了,最后出来的时间完全不准确
但是参数设置为
Prescaler=719 Period=9999 Psec=10 ,则出来的时间非常精确。
此周期0.1s,所以Psec取10即一秒,然后若Period=999则此周期变0.01s,所取取Psec为100。
不知道错了,希望讲解一下

大概怎样的不正确?

这个问题我遇到过,这是调度问题,不是代码逻辑问题。大循环里代码过多,或延时较长,无法保证实时性。替代方案,要么把时基调大(对大循环的实时性要求降低),要么使用调度器(可以自己实现一个轻量级的)把大循环中的代码切分,要么使用软中断或硬中断。操作系统存在的一个重要原因就是前人也遇到了你遇到的这个问题。