Atmega16定时中断CTC模式不工作问题?
请问一下这程序用ICC编译,烧在Atmega16怎么不工作?已检查过ICC设置和芯片的熔丝位没问题!#include<iom16v.h>
#define uint unsigned int
uint kk=0;
#pragma interrupt_handler timer0_ovf:10
void timer0_ovf(void)
{
if(++kk>=1000)
kk=0;
}
void main()
{
DDRD=0xFF;
PORTD=0x00;
TCCR0=0x0B; //内步时钟64分频
TCNT0=0x00;
OCR0=0x7C; //定时2ms
TIMSK=0x02; //允许匹配中断
SREG=0x80; //开全局中断
while(1)
{
if(kk<=500)
PORTD=0xff;//PD高电平
else
PORTD=0x00; //PD低电平
}
} 抄代码也要懂了后再抄。 终于明白了,原来中断向量号不对!!!
页:
[1]