|
AVR單片機(jī) Atmega128芯片中 接收中斷如何編寫?iccavr軟件和cvavr軟件都可以?
是這樣么?
#pragma interrupt_handler Uart_Receive:31
unsigned char data,flag=0,sum=0;
unsigned char data_table[40];
/*接收結(jié)束中斷函數(shù)*/
void Uart_Receive(void)
{
static unsigned char i=0; //因?yàn)槭且晃灰晃唤邮眨适褂胹tatic
UCSR1B&=~(1<<7); //關(guān)閉接受結(jié)束中斷
data=UDR1;
data_table[ i]=data;
i++;
sum++;
if(data_table[i-1]=='\n') //如果等于'\n',則表示開始接受下一行數(shù)據(jù)了,則重新計數(shù)
{
data_table[i-1]='\0';
i=0;
flag=1;
}
UCSR1B|=(1<<7); //開啟接收結(jié)束中斷
}
求修改及求教。。。
|
|