打印

PC机与STC单片机485多机通信,单片机串口问题!!

[复制链接]
2625|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
星夜之北|  楼主 | 2014-11-21 09:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我看到别人在PC机与单片机485多机通信时,单片机串口用的是方式一!这怎么可能呢???串口方式一只适用于点对点通信啊!!只有方式2、3才能用于多机通信啊!但是方式2、3在于PC机通信时,第九位地址数据标志位又没办法解决!!如果强行用方式一多机通信,那么一个从机在接收消息时,其他从机也在不断接收数据和自己的地址对比,就一直在串口中断中,这样肯定不行啊,但是人家那系统还能运行!太神奇了!是不是单片机的速度比较快,即使不断中断也没啥影响????请大神们指点指点!!

相关帖子

沙发
coody| | 2014-11-21 10:43 | 只看该作者
我都是MODBUS-RTU协议通讯,不用什么第9位、数据地址控制位什么的,这样程序通用。

使用特权

评论回复
板凳
星夜之北|  楼主 | 2014-11-21 11:33 | 只看该作者
coody 发表于 2014-11-21 10:43
我都是MODBUS-RTU协议通讯,不用什么第9位、数据地址控制位什么的,这样程序通用。 ...

即使使用MODBUS,对于单片机来说它不知道什么是MODBUS,他只有四种串口工作方式,在方式一时,只要总线上有数据传输,所有从机都会接收并触发中断和自己的地址作对照!这样一来,只要有一个从机在和上位机通信,那么其他的单片机也在不断中断接收数据,只不过和自己的地址不符数据都丢弃了,但是,这样的的话,所有从机都不断处在串口中断中,不断在中断程序中跳出跳进!!这样对于从机的实时任务会有影响吧!!

使用特权

评论回复
地板
coody| | 2014-11-21 15:17 | 只看该作者
对于现在大多数的MCU来说,串口中断是个慢速事件,即使使用115200bps,中断间隔也是89us,中断里保存数据花几个us时间。

如果速度不高,比如9600bps,我软件模拟4路全双工串口对大部分的应用,其实时性都不会有太大影响,更何况是硬件串口。

使用特权

评论回复
5
星夜之北|  楼主 | 2014-11-21 15:24 | 只看该作者
coody 发表于 2014-11-21 15:17
对于现在大多数的MCU来说,串口中断是个慢速事件,即使使用115200bps,中断间隔也是89us,中断里保存数据花 ...

恩恩!!多谢啊!我用的STC单片机频率22.1184,1T,单指令周期才45纳秒!!那就应该没啥影响!

使用特权

评论回复
6
一枝梅WYH| | 2014-11-21 15:34 | 只看该作者
单片机中断的话 还是可以的啊 速率

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

56

帖子

1

粉丝