基于51单片机的RS-485的多机通信
(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);
}
51单片机RS-485多机通 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)