打印

请教:关于USART多机通信

[复制链接]
2772|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hd657|  楼主 | 2010-3-19 15:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用多片stm32组成一个485网络,采用多机通信方式(9bit通信),在收到地址匹配后转入8bit模式以接收后面的数据,而地址不匹配的那些芯片不产生中断,在1对1通信的情况下收发均可以运行。
    但是现在有一个问题就是我有的数据是需要同时广播发送的,希望在收到广播地址(如:9位的0x1ff)时,所有的芯片均可产生中断并转入8bit模式以接收后面的数据。
    不知道可否实现,求各位高人指点!
沙发
香水城| | 2010-3-19 21:19 | 只看该作者
1对1通信时是怎么使用地址的?

使用特权

评论回复
板凳
hd657|  楼主 | 2010-3-20 09:39 | 只看该作者
2# 香水城 1对1是:先设置好地址,9位通信,进入静默模式里并设置地址标记检测(WAKE=1),这样在收到匹配的地址后UASRT被唤醒,然后转为8位通信接收后面的数据,接收完成之后再次进入静默模式9位通信状态,等待下次被匹配的地址唤醒。
问题是好像没有一个广播地址,可以把所有stm32全部唤醒,接收广播类数据!
求香版主指点!

使用特权

评论回复
地板
ddtx| | 2010-4-16 16:41 | 只看该作者
可以设置一个广播地址,接收到广播地址就全部接受

使用特权

评论回复
5
香水城| | 2010-4-16 16:46 | 只看该作者
STM32的USART没有广播地址。

使用特权

评论回复
6
hsbjb| | 2010-4-16 21:33 | 只看该作者
不能使用CAN吗,实现起来很容易

使用特权

评论回复
7
lzymcu| | 2010-4-21 17:27 | 只看该作者
这个实现起来并不难,我以前只是用51做过,没问题的

使用特权

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

本版积分规则

2

主题

5

帖子

1

粉丝