单片机多机通信之变量初始化的重要性
博文题目之所以要加上变量初始化的重要性,是因为我在调试单片机多机通信程序时,也就是下面将给出的程序,花了一整个晚上才发出,原来是有一个变量没有初始化,从而导致,多机通信不成功。主机程序中为红色的注释的变量一定要初始化,否则将失败。
仿真图如下:
单片机多机通讯
说明:该程序为多机通讯程序,最多可以挂255个从机。
//=====================================================================
//
//host.c
//writer:40
//注:主机先发送地址,接收到应答后,再发送数据
//=====================================================================
#include
#define unit unsigned int
#define uchar unsigned char
#define
#define
#define
#define
sbit led=P2^0;
void delay(unit MS)
{
}
void Uart_Init(void)
{
}
void send_addr(uchar addr)
{
{
}
}
void send_data(uchar ddata)
{
}
void main()
{
}
从机1程序:
//=====================================================================
//
//slave_1.c
//writer:40 2011年8月06日于6#实验室
//注:从机先接收地址,然后与自己的地址比较,正确了再接收数据,修改地址可挂多个从机
//=====================================================================
#include
#define unit unsigned int
#define uchar unsigned char
#define
{
}[page]
void Uart_Init(void)
{
}
uchar recv_data(void) //接收数据
{
}
void main()
{
while(1)
{
}
}
从机2程序:
//=====================================================================
//
//slave_2.c
//writer:谷雨 2011年8月06日于6#实验室
//注:从机先接收地址,然后与自己的地址比较,正确了再接收数据,修改地址可挂多个从机
//=====================================================================
#include
#define unit unsigned int
#define uchar unsigned char
#define
{
}
void Uart_Init(void)
{
}
//void send(uchar Data)
//{
//}
uchar recv_data(void) //接收数据
{
}
void main()
{
while(1)
{
}
}
上一篇:串行通信与单片机串行口
下一篇:单片机多机通信带校正
推荐阅读最新更新时间:2024-03-16 14:41
- 热门资源推荐
- 热门放大器推荐