微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于51单片机的RS-485的多机通信

基于51单片机的RS-485的多机通信

时间:11-27 来源:互联网 点击:

(void)

{

RE_DE=1;//设置MAX483进入发送状态

for(point=0;point=10,TI=1;point++)//连续发送十位数据

//把缓存区的数据都发送到串口

{

SBUF=buffer[point];

TI=0;

}

RE_DE=0;//设置MAX483进入接收状态

}

//---------------------------------------------------------------

// 函数名称: write_buffer()

// 函数功能: 写发送缓冲区十位数据

//---------------------------------------------------------------

voidwrite_buffer(unsignedcharslaver_add)

{

unsignedchari;

TB8=1;//打开多机通信方式

buffer[0]=0xFE;

buffer[1]=slaver_add;

for(i=2;i<9;i++)//连续发送十位数据

//把缓存区的数据都发送到串口

{

buffer[i]=send_data[i-2];

}

buffer[9]=0xEF;

}

//---------------------------------------------------------------

// 函数名称: 主函数

// 函数功能: 调度个子函数,完成通信过程

//---------------------------------------------------------------

voidmain(void)

{

unsignedchari=0;

system_init();//系统初始化

do{//查旬0到10好地址有没有对应设备

write_buffer(i++);//写查询第i号设备的发送信息

COM_send();//调用发送函数,完成发送

timer0_init();//完成一次查询,重新初始定时器0,准备下一次查询

}

while(time_over_flag&&i<10);

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top