AVR大学零点篇怎样看懂数据手册?
首先声明一点,真正的新手是看不懂数据手册的,如果你能,说明你已经入 门了。所以,当你看到数据手册头疼的时候,不要灰心,其实别人和你一样。
但是数据手册是AVR最好的书,你又必须得看懂数据手册,看数据手sr:10
void timer0_ovf_isr(void)
TCNT0 = 0xB9;
//reload counter value
//call this routine to initialize all peripherals
void init_devices(void)
(
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
timer0_init();
MCUCR = 0x00;
GICR = 0x00;
TIMSK = 0x01; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}
上面的程序是由ICC的程序生成向导自动生成的,红色部分是和定时器0 相关的,那么现在你可以去查数据手册,TCCR0,TCNT0,OCR0,TCCR0 TIMSK你就可以充分了解定时器的工作原理及控制方法了。
比如:查看TIMSK,描述为
中断屏蔽寄存器一TIMSK
Bit 1 - OCIE0: T/C0输出比较匹配中断使能
当OCIE0和状态寄存器的全局中断使能位I都为”1”时,T/C0的输出比 较匹配中断使能。当T/C0的比较匹配发生,即TIFR中的OCF0置位时,中 断服务程序得以执行。
Bit 0 - TOIE0: T/C0溢出中断使能
当TOIE0和状态寄存器的全局中断使能位I都为”1时,T/C0的溢出中断 使能。当
T/C0发生溢出,即TIFR中的TOV0位置位时,中断服务程序得以 执行。
可以看出TIMSK = 0x01说明T/C0溢出中断使能了,允许寄存器定时溢出 中断,这就使得下面这段程序可以运行。
#pragma interrupt_handler timer0_ovf_isr:10
void timer0_ovf_isr(void)
(
TCNT0 = 0xB9; //reload counter value
}
下面一段是一些朋友的理解:
古欣(286629322) 10:20:15
我正在写新手入门中的怎样看懂数据手册,大家有什么意见或好的建议
学习(603761546) 10:15:50
古欣(286629322) 10:21:30
看懂中文的呢
学习(603761546) 10:16:49
,不知道 里面的数据代表什么
学习(603761546) 10:17:03
这是我的看法啊
BG1(530377725) 10:17:25
如果能看懂某功能寄存器的设置方法,该功能就不是问题了
学习(603761546) 10:17:36
也是我以前入门时的看法
怎样看懂数据手册 来自淘豆网m.daumloan.com转载请标明出处.