单片机多机通讯时,多是主机向从机发送命令后,从机给出应答信号,能不能从机主动给主机发送数据呢,谢谢
展开全部
主机和从机通讯时,不可以从机主动发数据给主机。一般要主机主动去发布命令,从机去应答,如果从机也主动和主机联系,那么会造成主机接收数据错误,或者发送数据错误!
下面分析下原因。
1、首先说明下单片机多机通讯的原理:简单点就是多个单片机TXD和RXD连接到一个,主机的TXD连接从机的RXD,从机之前是并联状态;复杂的呢就是通过RS485芯片,连接方式和上面一样的,RS485相对来说传输数据抗干扰。
2、主机给从机发送数据,从机怎么来接收这一帧数据。一般我们是给每个从机都设置一个独一无二的地址。从机接收到数据首先判断是不是发送给自己的,就像是收快递一样的。不是发给自己的,后面的数据就不处理,或者不接收数据。
3、说明下主机和从机的概念。其实主机、从机都是一样的设备,作为主机来说,这个设备要主动去和从机的设备去沟通,就好像车间的班长和流水线上的操作工,班长去下发任务,操作工根据任务命令去做事。
主机就是去告诉从机,什么时间去做什么事。从机就是等待命令,然后去检测外部信号,执行命令。
4、主机和从机通讯的时候,能不能从机主动。明白了主机和从机的概念,深入的想一下,为什么要主机发送命令,从机做出应答呢
。一般是主机会和很多从机进行通信。主机和从机通信一般是有个时间的间隔。比如200ms发送一次,然后切换到下一个从机。
如果主机在发送数据的时候,从机突然主动和主机联系了,那么
就会出现数据错误了,因为主机在发送数据,发送的过程中肯定会造成来不及处理接收数据,因为单片机同时只能处理一件事情。
所以
主机就是要主动联系,从机就是要等待主机联系之后再回应主机。不然就会出现沟通混乱的问题,在编写程序的时候一定要注意这一点。
下面分析下原因。
1、首先说明下单片机多机通讯的原理:简单点就是多个单片机TXD和RXD连接到一个,主机的TXD连接从机的RXD,从机之前是并联状态;复杂的呢就是通过RS485芯片,连接方式和上面一样的,RS485相对来说传输数据抗干扰。
2、主机给从机发送数据,从机怎么来接收这一帧数据。一般我们是给每个从机都设置一个独一无二的地址。从机接收到数据首先判断是不是发送给自己的,就像是收快递一样的。不是发给自己的,后面的数据就不处理,或者不接收数据。
3、说明下主机和从机的概念。其实主机、从机都是一样的设备,作为主机来说,这个设备要主动去和从机的设备去沟通,就好像车间的班长和流水线上的操作工,班长去下发任务,操作工根据任务命令去做事。
主机就是去告诉从机,什么时间去做什么事。从机就是等待命令,然后去检测外部信号,执行命令。
4、主机和从机通讯的时候,能不能从机主动。明白了主机和从机的概念,深入的想一下,为什么要主机发送命令,从机做出应答呢
。一般是主机会和很多从机进行通信。主机和从机通信一般是有个时间的间隔。比如200ms发送一次,然后切换到下一个从机。
如果主机在发送数据的时候,从机突然主动和主机联系了,那么
就会出现数据错误了,因为主机在发送数据,发送的过程中肯定会造成来不及处理接收数据,因为单片机同时只能处理一件事情。
所以
主机就是要主动联系,从机就是要等待主机联系之后再回应主机。不然就会出现沟通混乱的问题,在编写程序的时候一定要注意这一点。
展开全部
你好!
这样不可以,因为从机是多个,谁何时发数据,没有基准时间;
这样就会出现两个(或多个)以上从机同时发数据的可能性,结果可想而知,数据乱了。
所以,都是在主机发出邀请后,相应的从机才可以发数据。
仅代表个人观点,不喜勿喷,谢谢。
这样不可以,因为从机是多个,谁何时发数据,没有基准时间;
这样就会出现两个(或多个)以上从机同时发数据的可能性,结果可想而知,数据乱了。
所以,都是在主机发出邀请后,相应的从机才可以发数据。
仅代表个人观点,不喜勿喷,谢谢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般不可以,因为从机何时发数据没有约定时间,那么就会出现两个以上从机同时发数据的情况,这样就会造成数据混乱。如果系统一个主机和一个从机,而且按照预先协议要求,在主机等待从机发数据期间,从机就可以发数据了。当然,你就可以认为这个期间从机变为主机了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主机是一个主动发起通信的设备,而从机则是被动与主机进行通信。如果主机在没有发起与从机进行数据通信的时候,从机向主机发送数据主机可以不理或者直接忽视又或者主机压根就没接收数据。如果从机在主机没有说要接收数据的情况下向主机发送数据,而且还要保证主机接收到了数据,那这里岂不是从机变成了主机,主机变成了从机。
主从其实是相对的。没必要那么纠结。
主从其实是相对的。没必要那么纠结。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然是多机通讯
其工作原理和规则就确定了
由主机轮流问各个从机,
按时间分划分各个过程,达到依次访问
循环重复,完成主对多的通讯。
其工作原理和规则就确定了
由主机轮流问各个从机,
按时间分划分各个过程,达到依次访问
循环重复,完成主对多的通讯。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询