找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1120|回复: 0
打印 上一主题 下一主题
收起左侧

AVR单片机Atmega128芯片中 接收中断如何编写?iccavr软件和cvavr软件都可以?

[复制链接]
跳转到指定楼层
楼主
ID:515690 发表于 2019-8-2 16:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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);            //开启接收结束中断
}

求修改及求教。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表