自己给自己挖的坑还要让别人往你跳啊。
手册上说的没错。你测的也没错。你的理解有点错。
考手册上说,假定用64KHz的频率跑计数器,256分频 ;跑到FF 是1.024S。
计算方式应该是 1000ms/(64K/256)*256 = 1.024S
==》这个没有问题。这里是64K时钟256分频后给TIMER计数,记录FF个脉冲的时间是1.024s.
现在我用的是STM8S003F3P6,数据手册上说 It is clocked by the 128 kHZ LSI internal RC clock source;
那么我的使用的是128k,最大溢出时间是512ms.实际程序测试还是1.02S。
==>你这里的最大溢出时间是错误的。这里WDG计数器跟普通计数器稍有不同,外来时钟首先就经过2分频,然后再给预分频驱动器,再进行计数。细节你看看IWDG那里的工作框图。这样计算下来最大计时为1.02s. 正好符合你测得的数据。
|