【发布时间】:2015-01-22 14:17:24
【问题描述】:
如何计算中断时间并将其设置为全局变量? 我的微控制器是 Atmega8,F_CPU 是 16MHz,编程语言是 C。 我知道的很少,下面那一行是时钟的初始化。
TCCR1B |= (1 << CS10);
这一行确实如此,全局变量“a”得到循环的值除以“xxx”。但是必须为 xxx 分配什么值?
a = TCNT1/xxx;
PS1:我想在推进式 LED 显示屏中计算我的螺旋桨的最后一圈,并将此值提供给下一个中断以正确显示图像。
PS2:为了做延迟,我使用函数:_delay_ms()。
【问题讨论】:
-
不应该是
(16 * 1000)吗?只是猜测。 -
首先我尝试了这个值,但它给了我的螺旋桨错误的方式
-
您需要什么分辨率?您似乎不知道,这使得这种无法正确回答。你在做螺旋桨的航位推算吗?什么 RPM?
-
这个函数
_delay_ms(1.6)正在做延迟满转时间。但我不知道螺旋桨的全转是否等于 1.6ms。而且我不知道 RPM,因为风扇上没有任何注释。 -
分辨率为 180 角
标签: c time count avr interruption