📄 slave.c
字号:
#include<reg51.h>
sbit RE_DE P1^0;
#define COUNT 11
#define ADD 5
unsigned char bdata flag;
unsigned char buffer[COUNT];
unsigned char point;
//UART_init()串口初始化
void UART_init()
{
SCON=0x0F0;
TMOD=0x21;
TH1=0xFA;
TR1=1;
SM2=1;
ET1=0;
ES=1;
PS=1;
EA=1;
}
//com_interrup()串口接收中断处理函数
com_interrup(void) interrupt 4 using 3
{
unsigned char RECEIVR_buffer;
if(RI)
{
RI=0;
RECEIVR_buffer=SBUF;
if(point==0)
{
if(RECEIVR_buffer=0xFE)
buffer[point++]=RECEIVR_buffer;
else point=0;
}
else if(point=1)
{
if(RECEIVR_buffer==ADD)
buffer[point++]=RECEIVR_buffer;
else point=0;
}
else if(point>0&&point<11)
buffer[point++]=RECEIVR_buffer;
else point=0;
}
if(TI)
{
TI=0;
}
}
//COM_send()串口发送函数
void COM_send(void)
{
RE_DE=1;
for(point=0;point<10,TI=1;point++)
{
SBUF=buffer[point];
TI=0;
}
RE_DE=0;
}
//主函数
void main(void)
{
UART_init();
do
{
COM_send();
SM2=0;
}
while (point!=11);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -