📄 sena.c
字号:
#include<reg52.h>
#define uchar unsigned char
uchar idata buf[10];
uchar CheckSum; //检验和
void main(void)
{
uchar i;
SCON = 0x50; //设置串行口: 方式 1, 8位UART, 允许接收
TMOD |= 0x20; //设置定时器T1, 方式 2, 8位自动重装
PCON =0x80; //设置SMOD=1
TL1 =0xF4; //波特率4800bit/s,初值
TH1 =0xF4;
TR1 = 1; //启动定时器T1
for(i=0;i<10;i++) //初始化数据
{
buf[i]=i;
}
do
{
SBUF=0xAB; //发送联络信号"AB"
while(TI==0); //等待发送结束
TI=0;
while(RI==0); //等待B机回答
RI=0;
}while((SBUF^0xBA)!=0); //B机未准备好,继续联络
do
{
CheckSum=0; //清检验和
for(i=0;i<10;i++)
{
SBUF=buf[i];
CheckSum+=buf[i]; //求校验和
while(TI==0);
TI=0;
}
SBUF=CheckSum; //发送校验和
while(TI==0);
TI=0;
while(RI==0);
RI=0; //等待B机应答
}while(SBUF!=0); //出错则重发
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -