打印

香主,STM32 UART 多机通信,1主多从,从机最多可支持多少个啊?

[复制链接]
8681|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zlutian|  楼主 | 2010-6-10 15:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
香主,请问STM32 UART 多机通信,1主多从,从机最多可支持多少个啊?
datasheet上 配置寄存器(USART_CR2)节点地址只有4位,也就是说最多只能有15个从机吗? 可不可以1个主机带100多个从机啊?
沙发
香水城| | 2010-6-10 15:50 | 只看该作者
没错,地址只有4位,也就是说最多只能有16个从机;要接100个,只有另外想办法了。

使用特权

评论回复
板凳
zlutian|  楼主 | 2010-6-10 16:27 | 只看该作者
谢谢香主.
那么有没有可行的办法啊?有个项目,1个主机带400多个从机, STM32F103最多有5个UART串口,初看这个芯片很合适,细看一下晕啊,怎么只能带16个从机.

使用特权

评论回复
地板
mohanwei| | 2010-6-10 16:35 | 只看该作者
软件识别地址即可。
普通的51都可以跑得很流畅了

使用特权

评论回复
5
zlutian|  楼主 | 2010-6-10 16:40 | 只看该作者
51不够串口啊

使用特权

评论回复
6
香水城| | 2010-6-10 16:53 | 只看该作者
对呀,软件识别地址即可。

使用特权

评论回复
7
zlutian|  楼主 | 2010-6-10 17:08 | 只看该作者
是不是这样啊:
对主机: 发地址时设9位模式,且最高位(第9位)是1,低8位是地址.  发数据时设置成8位模式.
对从机: 初始设置成9位模式,各从机接收到9位的地址进入中断后与本机地址校验,匹配时设置成8位模式以便接收后面的数据,不匹配时退出中断,因为后面主机发送的时8位的数据,非匹配的从机不会产生中断.

使用特权

评论回复
8
香水城| | 2010-6-10 17:19 | 只看该作者
是不是这样啊:
对主机: 发地址时设9位模式,且最高位(第9位)是1,低8位是地址.  发数据时设置成8位模式.
对从机: 初始设置成9位模式,各从机接收到9位的地址进入中断后与本机地址校验,匹配时设置成8位模式以便接收后面 ...
zlutian 发表于 2010-6-10 17:08


使用软件识别地址,你可以自己任意定义操作方式。

使用特权

评论回复
9
zlutian|  楼主 | 2010-6-11 09:51 | 只看该作者
谢谢 香主 和 mohanwei, 看来我要做个板子试下.

使用特权

评论回复
10
mohanwei| | 2010-6-11 10:53 | 只看该作者
新做的产品最好用8位模式,校验码为空……其它模式极少见,而且是在老产品上
软件协议里定义地址码即可,例如:
Head  Addr    Cmd     Len      Data[Len]   CRC16       Tail
帧头   地址码  命令码  数据长度  数据           CRC16校验   帧尾

使用特权

评论回复
11
lyn3210| | 2010-6-11 16:04 | 只看该作者
我在智能化大厦产品用过,最好不要用高阻抗驱动器,普通驱动芯片只能到30个终端。

使用特权

评论回复
12
zlutian|  楼主 | 2010-6-12 08:43 | 只看该作者
谢谢10楼 mohanwei 的建议.

使用特权

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

本版积分规则

7

主题

143

帖子

1

粉丝