单片机多机通信。。小弟只有20,那位大侠帮帮忙,谢谢了

最近在开发一个单片机多机通信系统,主从式分布,请问如何给从机分配地址?主机发送广播询问地址时,从机如何校验地址?用C如何编写代码?以一主机,2从机为例,谢谢... 最近在开发一个单片机多机通信系统,主从式分布,请问如何给从机分配地址?主机发送广播询问地址时,从机如何校验地址?用C如何编写代码?以一主机,2从机为例,谢谢 展开
 我来答
seuzhouww
2011-03-10 · TA获得超过1386个赞
知道小有建树答主
回答量:658
采纳率:0%
帮助的人:309万
展开全部
您好!
首先你需要定义通信报文的格式:一般有报头+地址+长度+命令+数据+校验+报尾。七个域构成。地址域就是用来区别各个设备的。分配地址时,只有不重复就行。超过255个设备时,用两个字节描述这个域就可以了。
广播询问,可以采用9位方式通信。主机的TB8设为1,从机默认都认为RB8为1时,才接收。所有所有的从机都会收到这个广播包的,此后只有与本地地址吻合的设备改变TB8=0,继续双机单独通信。其他设备不会中断。
简单点的话,如果广播只有命令,无需应答,用普通方式也可。
从机校验地址的问题,就变成了对地址域的解析与本地地址匹配的判断,从而决定是否要继续接收或处理。

用C写时,主要需要熟悉串口多机通信的配置,也就是初始化。还有就是串口中断服务的编写。具体怎么写,建议你自己简单点,慢慢想,慢慢写,慢慢调。
追问
有没一什么书推荐?
追答
因为协议是自定义的,基本原则只要自圆其说即可,你只需要参与一两个低调项目或者完成这个项目的挑战即可熟悉。另外每个系统产品的特点都不同,所以协议一般都是独特的,而且不对外公开的。祝你成功!比想象中的简单。
百度网友53d5f6d29
2011-03-10 · TA获得超过6185个赞
知道大有可为答主
回答量:3991
采纳率:28%
帮助的人:1526万
展开全部
给你提供一个普遍使用的方式。
1。从机单片机设置一个地址装置。可以用硬件开关,也可以在软件中设置自有地址(缺点是软件不通用,优点是不消耗硬件资源)
2。从机上电后始终处于监听状态。收集所有通讯数据,从中判断是否是要自己地址代码。如果是,则应答。
3。主机广播发送特定的代码,通知一个从机应答。
要注意的是,控制代码要避开有可能存在的数据代码传输。最好是收到控制代码后,返回主机进行验证。以提高可靠性。
具体的通讯协议,就自己设置吧。原则就是这样的。
追问
能不能讲的细一点,最好用例子来说明。谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式