博文题目之所以要加上变量初始化的重要性,是因为我在调试单片机多机通信程序时,也就是下面将给出的程序,花了一整个晚上才发出,原来是有一个变量没有初始化,从而导致,多机通信不成功。主机程序中为红色的注释的变量一定要初始化,否则将失败。
仿真图如下:
单片机多机通讯
说明:该程序为多机通讯程序,最多可以挂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)
{
}
}
上一篇:STC12C5A60S2单片机的DS18B20的C程序
下一篇:C8051F单片机和PC机串口通讯程序
推荐阅读最新更新时间:2024-03-16 14:41
设计资源 培训 开发板 精华推荐
- Bourns 全新推出 11 款 Riedon™ 功率电阻产品系列
- Akamai 将微分段拓展至 Amazon Web Services 并增强 ZTNA,助力实现最佳应用程序性能
- 博世中国回应全球裁员:此次裁员不涉及中国区
- 英飞凌推出业界首款用于太空应用的QML认证512 Mbit抗辐射加固设计NOR闪存
- AI计算时代,为什么Arm独具优势?
- 美国能源部拟向 Rivian 提供 66 亿美元贷款,支持电动汽车扩产
- 国产射频芯片大厂慧智微否认大规模裁员:系小范围组织调整
- Handtmann推出容量高达1.3 MWh的电池系统 可用于重型车辆等
- 全固态电池,日系车的新希望?
- 2026年,动力电池成本将下降近50%