25.c

来自「一些单片机的经典例程」· C语言 代码 · 共 30 行

C
30
字号
#include "io2313.h"

#pragma interrupt_handler uart_rec:8           //定义接收中断向量
unsigned char i;

//串口接收中断
void uart_rec()
{
        i=UDR;
}

//主程序
void main()
{
        UBRR=12;                         //对应与4M,19200波特率
        UCR=0x98;                        //允许接收中断,允许发送
        SREG|=0x80;                       //开中断

        while(1){
                if (i)                       //有字符收到
                        {
                        USR&=~0x40;       //清发送完标志
                        UDR=i;             //发送数据(回传接收数据)
                        while(!(USR&0x40));  //等待发送结束
                        USR&=~0x40;       //清发送完标志
                        i=0;                //清变量,以备下一次接收
                        };
                }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?