想在AVR-GCC环境下编译下面的定时器中断程序,以前用ICC-AVR,现在不知道该怎么在gcc下使用中断函数,下面 是最简单的一个程序,用中断来每隔一段时间让PORTB口反向,在
protel下面
仿真,可是发现老是进不了中断,请高手指教指教,急求啊啊啊!!!
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
int cnt;
INTERRUPT(SIG_OVERFLOW0) //在gcc编译环境下是不是该这样写中断程序啊?
{
cnt++;
if(cnt==2)
{
cnt=0;
PORTB=~PORTB;
}
}
void init()
{
DDRB=0XFF;
PORTB=0XFF;
PORTB=~PORTB;
SREG|=0X80;//开全局中断
TCCR0=0x03;//系统时钟64分频
TCNT0=0x00;//tcnt清零
tiMSK=0x01;//打开T/C中断屏蔽寄存器
}
int main(void)
{
init();
while(1)
{
}
return 0;
}
有高手自己编的中断处理程序也欢迎共享一下啊,看看自己到底哪里错了,谢谢啦!O(∩_∩)O~
评分
查看全部评分
一周热门 更多>