AVR CTC模式下如何设置比较值
How to set compare value in AVR CTC mode
我正在尝试学习如何在 AVR
中使用 CTC
模式,并且我正在尝试弄清楚为什么我在设置比较值时应该减去 1。
例如,现在我正在努力每 200 毫秒发送一次 AVR
的工作时间,并且通过计算我发现该值应该是 50000,但是在关于这个程序的视频中,这个人声称它应该是50000-1,这是为什么?
这是因为基础计数器从零开始到“TOP”结束,正如各种 AVR 数据表中所指的那样。在不知道您使用的确切部件的情况下,我无法向您推荐数据表,但它们在定时器模式矩阵中都使用基本相同的术语。
所以如果你想让计数器精确计数50000次,你必须减一。 CTC 的意思是“比较匹配计时器”,从零开始意味着您需要“差一”。就这么简单。
在 AVRGeeks
上对这个和其他 AVR 主题的讨论非常好
我正在尝试学习如何在 AVR
中使用 CTC
模式,并且我正在尝试弄清楚为什么我在设置比较值时应该减去 1。
例如,现在我正在努力每 200 毫秒发送一次 AVR
的工作时间,并且通过计算我发现该值应该是 50000,但是在关于这个程序的视频中,这个人声称它应该是50000-1,这是为什么?
这是因为基础计数器从零开始到“TOP”结束,正如各种 AVR 数据表中所指的那样。在不知道您使用的确切部件的情况下,我无法向您推荐数据表,但它们在定时器模式矩阵中都使用基本相同的术语。
所以如果你想让计数器精确计数50000次,你必须减一。 CTC 的意思是“比较匹配计时器”,从零开始意味着您需要“差一”。就这么简单。
在 AVRGeeks
上对这个和其他 AVR 主题的讨论非常好