【紧急求助】PC 与 C51串行通信问题
PC机与多个C51进行通信时,在51中怎么样判断数据是否发送给自己的呢?
如何将数据精确到发送到指定的51单片机上呢?
有效立即给分,绝不 食言而肥
[解决办法]
232总线上,加地址识别哈!!
一个结构包
|头|地址|数据长度|数据|校验|尾|
其中数据可以换成命令啥的
由于是总线式的双工通信,你发的时候,所有的单片机都收到,但只有与自己地址匹配的单片机对作动作,其它的片子就丢掉这个包就可以了
这个就能达到
[解决办法]
最简单的方法是 把传口转成RS485总线这样在软件上就不用改动太打.如果是要把PC串口和MAX232一类的芯片接到一起的话 电平上会出现问题 接收和发送会出问题.
[解决办法]
在每块单片机里设置一个地址,上位机发数据包给单片机,单片机先解包,把发来的地址跟自己的相比较(异或即可),是自己的就处理,不是的就丢弃。
pc发给单片机的包头,和单片机发给pc的包头不同,以区分开来
[解决办法]
RS232并联肯定出问题,因为RS232标准不允许多个节点互联,而且RS232非平衡传输就决定了抗干扰性能很差,并联能通那是因为RS232标准具备很强的容错性能。
多节点网络绝大多数是用RS485总线方式通讯,连接到100个节点,只能用CAN总线。