好久没弄AVR了,这次准备改进学校的机器人低层驱动,先做几个必要的小实验先。
AVR和ucosii都是个好东西~~,小巧运行速度快,又让人联想到以前那个外国人用AVR做为CPU自制的双轮车,真让人兴奋。。
//环境:winavr+avr studio
char temp=0;
ISR(TIMER1_COMPA_vect )//中断函数
{
// user code here
temp++;
if (temp==10)
temp=0;
PORTA=temp;
DDRA=0xff;
}
void mytimer_init(void)
{
//关总中断
cli();
//TCCR1A为配置引脚输出模式,这里取默认为0,未连接即可,因此不需要为其赋值
//T/C1时钟源选择为clk/64,CLK现为内部晶振4MHZ,因此时钟为4,000,000/64 HZ = 62500 HZ
TCCR1B &= ~0x07;
TCCR1B |= 0x03;
//选择模式 WGM10~WGM13
TCCR1A &= ~0x03;
TCCR1B &= ~(0x03<<3);//模式4 CTC
TCCR1B |= 0x01<<3;
//赋值定时初值 16位
TCNT1=0;
//赋值比较寄存器TOP初值 16位 ,在以上工作模式下&#