大家都知道,RS232协议是点对点的通信协议,但在一些特殊的应用中,如一主对多从机的通信,当然可以使用RS485协议,但系统就会变得相对复杂些,能否用RS232实现多机通信呢?本人经过具体项目实施验证,答案是肯定的。下面就此应用总结一下,以供大家参考和验证。 硬件连接图如下:
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg 软件上,协议上给每个从机设定一个ID,当主机向从机发数据帧时,所有从机都可以收到,根据ID是否与自已的一致决定是否对接收的数据进行处理。同理,任何一从机向主机回传数据也是根据接收到的ID进行相应的处理。是不是很简单?呵呵……当然这个方案有一个小小的限制,就是同一时间不可以有两个及以上的从机向主机回传数据。 至于为什么从向主要加个二极管,而主向从不用,请查看下RS232的逻辑电平定义就马上懂了,主要原理是利用了二极管的单向导通性,以避免非工作从机电平影响工作从机的电平。 兄弟们要遇到像这样的应用需要,不妨一起验证一下。 有漏洞的地方欢迎交流、指正!最后祝兄弟们工作顺利!
|