我正在使用 STM8 计时器(不是我的代码,而是维护它),并且它使用了一个计时器。显然时钟设置为 16MHz erfo 0.0625uS。定时器的设置是 ARRH=0x03 ARRL=0x20 因此 (0x0320=800) 它在 800 (ergo 50us) 处重置 PSCR 设置为 0,因此定时器具有与微型相同的频率。
无论如何,当用示波器检查时,它并没有给出好的读数。定时器中断被调用在: 56us , 54uS, 54uS, 52uS, 52uS, 52us, 38us(!!!), 42us(?), 50us, 50us....
好奇地总结它给出了 500uS 所以它确实算作 50uS 的 10 倍
定时器中断的前 8 次发生了一些 AD 转换,因此也有可能在两者之间调用 AD 中断。
1)你认为这会影响定时器的频率吗?
2)为什么它通过在 38uS 触发中断来“纠正”自己?
我将不胜感激任何基于您的嵌入式或 STM8 经验的评论,因为我知道准确的答案需要检查代码......