#include<reg51.h> #include<string.h> #define addr 0x02//从机2的地址 #define _SUCC_ 0x0f//数据传送成功 #define _ERR_ 0xf0//数据传送失败 unsigned char aa=0xff;//主机与从机之间通信标志 unsigned char Buff[20];//数据缓冲区 //串口初始化函数 void serial_init() { TMOD=0x20; //定时器1工作于方式2 TH1=0xfd; TL1=0xfd; //波特率为9600 PCON=0; SCON=0xd0; //串口工作于方式3 TR1=1; //开启定时器 TI=0; RI=0; } //接收数据函数 unsigned char RECE_data(unsigned char *Buff) { unsigned char i,temp; unsigned char lenth; unsigned char check; RI=0; //接收数据长度 while(!RI); if(RB8==1) //若接收到地址帧,则返回0xfe return 0xfe; lenth=SBUF; RI=0; check=lenth; for(i=0;i<lenth;i++) //接收数据 |