5679|4

67

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

怎么给单片机分配地址?请大家帮忙看看 [复制链接]

目前做的如下:
1、PC与多个MCU之间使用RS485接口进行通信连接,MCU使用RS485收发器,PC使用RS232/RS485接口线
2、通信数据帧中包含1位地址数据
3、MCU控制RS485收/发,默认状态是接收
4、MCU收到数据后,分析地址,做出后续反应
5、PC等待被选MCU回应
现在的问题是:
1.给MCU分配地址怎么写代码?
(我是新手,现在已经能通讯,就剩多机的问题,不会用C写)
2.如何比较地址?

最新回复

学习学习  详情 回复 发表于 2009-12-3 08:20
 
点赞 关注

回复
举报

54

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
用的是149,一共6个处理板,到底怎莫给它们分配一个唯一的地址阿,谁来帮我看看
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

外接拨码开关

或程序中设定(把地址号写入FLASH),来区分地址。
 
 
 

回复

98

帖子

0

TA的资源

一粒金砂(初级)

4
 
给lz一个方案:
1、每个MCU必须有唯一的ID(在系统生命周期内,不允许出现相同ID的MCU),以及登入、在线、退出、旁立、排除、废弃等状态。
2、PC定期进行点名广播,用以查询MCU的通讯状态
3、刚连入的MCU,接收到点名广播后,发送登入请求以进行报名
4、PC接收到登入请求后,解析新登入的MCU的ID,构筑MCU连接状态表,给新登入的MCU分配地址,并允许新登入的MCU使用其拥有的通讯地址进行通讯
5、PC根据MCU连接状态表,管理其与MCU的通讯
6、需要暂时退出的MCU,在收到PC的点名广播后,向PC发送旁立请求,PC将MCU连接状态表中欲旁立的MCU对应的状态设定为旁立,并释放被其占用的通讯地址,但仍保留其在MCU连接状态表中对应的记录项
7、旁立的MCU可以重新申请登入,但是不一定会拥有之前所分配的通讯地址
8、需要退出的MCU,在收到PC的点名广播后,向PC发送退出请求,PC删除MCU连接状态表中欲退出的MCU对应的记录项
9、已经退出的MCU可以重新申请登入,但是这样的请求只能在系统总复位,或上电后进行
10、PC可以强制将某ID的MCU踢出通讯队列,这样的MCU,在MCU连接状态表中被标记为排除。被排除的MCU只有等到PC再次允许其通讯后才能恢复通讯,或者等到下次上电
11、被标记为废弃的MCU只能报到,不能够再次获得通讯的机会,且其ID应该被永久保留
12、点名也可以在总复位或上电后一次处理完毕,然后关闭系统的点名处理
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
学习学习
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表