标题: AVR单片机Atmega128芯片中 接收中断如何编写?iccavr软件和cvavr软件都可以? [打印本页]

作者: 菜00財    时间: 2019-8-2 16:38
标题: AVR单片机Atmega128芯片中 接收中断如何编写?iccavr软件和cvavr软件都可以?
AVR单片机  Atmega128芯片中 接收中断如何编写?iccavr软件和cvavr软件都可以?


是这样么?
#pragma interrupt_handler Uart_Receive:31   

unsigned char data,flag=0,sum=0;
unsigned char data_table[40];

/*接收结束中断函数*/

void Uart_Receive(void)     
{
   static unsigned char i=0;      //因为是一位一位接收,故使用static
   UCSR1B&=~(1<<7);              //关闭接受结束中断
   data=UDR1;
   data_table[ i]=data;
   i++;
   sum++;
   if(data_table[i-1]=='\n')    //如果等于'\n',则表示开始接受下一行数据了,则重新计数
   {
      data_table[i-1]='\0';
      i=0;
          flag=1;
   }
   UCSR1B|=(1<<7);            //开启接收结束中断
}

求修改及求教。。。





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1