📄 smain.c
字号:
#include<reg51.h>
#include<stdio.h>
/*---全局变量区-----------------------------------*/
char ErrorNum=0;/*ErrorNum should below 127*/
/*-函数声明区-------------------------------------*/
extern void init_s(void);
extern void init_t0(void);
extern void init_m(char data *Address,unsigned char n,unsigned char i);///内存填充任意数值
extern bit hd2hd(void);
extern void Send_Data( char data *Adrress,unsigned char n);
extern bit Ack(void);
// extern void delayms(unsigned int x);
extern void OnError(char ErrorN);
/*--------------------------------------------------*/
void main(void)
{
unsigned char i;
char data *da_point;//初始化内存的数据指针
char data *data_addr;//要发送的内存数据初始位置
init_s();//串行通信初始化,1200BPS
da_point=0x32;/*format memory from 32H*/
init_m(da_point,35,0x55);/*内存从32处填充35个55*/
init_t0();//定时器0和中断并未打开,只是初始化。
if (hd2hd()==0) /*握手程序*/
{
ErrorNum=1;
OnError(ErrorNum);
}
/*----set data*/
data_addr=0x34;
for (i=0;i<3;i++)
{
Send_Data(data_addr,10);
if(Ack()==1) break;
if (i==2) //三次应答错误则出错处理。
{
ErrorNum=2;
OnError(ErrorNum);
}
}
//--------------------------------
TI=1;
printf("Send sucess!\n");
TI=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -