王涛 发表于 2017-10-18 18:37:25

avr定时器0初值的问题。

本帖最后由 王涛 于 2017-10-18 18:38 编辑

我在看AT328P单片机的定时器0用的是定时器溢出中断
定时8微妙
#define F_CPU                                        84000000
#define TICKS_PER_MICROSECOND (F_CPU/1000000)

TCNT0 = -((8*TICKS_PER_MICROSECOND) >> 3);

请问上面这是计算器赋初值?为什么要加一个负号在前面
怎么推导来的?
下面的公式也套不上
TCNT0和OCR0的值换算:对于8bit的计时器,TCNT0一般可以由下面的公式换算:
TCNT0=256-(TV*F)/N;
TV: 所想要设定的定时时间,单位,us
      F: 晶振频率(MHz)
    N: 分频因子

页: [1]
查看完整版本: avr定时器0初值的问题。