当前位置:文档之家› 以51单片机为例,一个简单的串口通信协议C程序

以51单片机为例,一个简单的串口通信协议C程序

以51单片机为例,一个简单的串口通信协议C程序

/**************************************************

文件说明:以51 单片机为例,一个简单的串口通信协议C 程序,

协议以0XAA 开头,以0XCC,0X33,0XC3,0X3C 结尾,数据长度不一定

*************************************************/

#define uchar unsigned char

#define uint unsigned int

bit RXAAOK; //接收到0XAA 开头标志

bit RXFRMOK; //接收一帧完整数据标

//接收中断中如果是完整一条数据置位,主函数中

//处理完毕清零

uchar RXBUF[32]; //接收缓存

uchar RX_P; //数据个数

void UARTO_ISR() interrupt 4 //接收中断,不同处理器可能是不同的函数声明

{

uchar i; //用处提取接收缓冲器的字符

if(RI)

{ i=SBUF; //提取字符

RI=0;

if(RXFRMOK==0) //判断是否接收到起始字符0XAA

{ if(RXAAOK) //如果接收到0XAA,继续接收后面的字符

{ RXBUF[RX_P]=i; //字符存入数组

相关主题