恭喜,你发布的帖子
发布于 2016-10-27 13:04:18
59楼
好。慢慢说。
200的串口,完整的说是异步串行口(还有同步串行口的)。省掉的这个“异步”两字,其实是个关键词。
两个通讯口若都在处于接收状态,谁先接收到字符,或“同时”接收到字符,这是没有“规律”可循的。如果两个串口是共用一套接收装置,不要说siemens,估计有点模样的公司都是设计不出来的。
好。那么SMB2怎么给两个口同时用?如果上面我发的贴讲不清,再讲也是不清的。
换一种说法吧。
yanxiao这个帐号,几乎在公共的邮件服务系统中都已经被注册了,所以你发个yanxiao@163、@263、@gmail等等,都能发出去的,但都没有发到我这里来。所以,yanxiao,在不同的邮件系统中,对应的是不同的收件人不是我。只有在本论坛,yanxiao才对应到我这边。
所以手册讲得很清楚,由PORT0产生的中断里读SMB2,是PORT0的,与PORT1无关。PORT1是另一个SMB2。
再来讲讲modbus使用SMB2的可能性。
modbus使用19200bps没问题吧?现在还可以使用115200bps。
你知19200bps接收字符有多快?大约0,5ms。你知200的中断是不能嵌套的。SMB2的接收中断必须在0.5ms内响应,要不然就丢字符了。这个要求是在单串口就要成立。你看到过使用modbus的的系统中,要求别的中断程序不能占有用0.5ms以上时间的限制吗?如果115200bps呢?接收一个字符不到0.1ms,你怎么使用SMB2中断接收?
wlmissyou,“探讨技术问题,就是求真”。请你也发表一些看法嘛。
请填写推广理由:
分享
只看
楼主