打印

请教一个单片机的串口通讯问题

[复制链接]
3084|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dzwire|  楼主 | 2008-11-5 14:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
hotyong| | 2008-11-5 14:57 | 只看该作者

不可以

使用特权

评论回复
板凳
李冬发| | 2008-11-5 15:54 | 只看该作者

2楼的害人啊,LZ别听他的,听我的。

使用特权

评论回复
地板
PowerAnts| | 2008-11-5 16:26 | 只看该作者

用I2C吧

实在要用UART,也得再拿一个GPIO来做个切换电路,切换两个从机的TXD

使用特权

评论回复
5
lyjian| | 2008-11-5 16:33 | 只看该作者

可以

只要你定好协议就行
由主机控制从机的TX使能
从机的TX为开漏模式或可以设置为高阻模式
如果从机的TX的只能为推挽输出模式就不行

使用特权

评论回复
6
PowerAnts| | 2008-11-5 16:37 | 只看该作者

“从机的TX的只能为推挽输出模式”可以这样玩

使用特权

评论回复
7
lyjian| | 2008-11-5 17:42 | 只看该作者

楼上办法不错

使用特权

评论回复
8
awey| | 2008-11-5 18:29 | 只看该作者

51单片机不是有一个主机带多个从机的功能?

楼主的电路没问题。但为了防止因软件问题引起硬件冲突,最好在从机的TX端串联一个电阻。

使用特权

评论回复
9
dzwire|  楼主 | 2008-11-5 18:36 | 只看该作者

数据发送过程如下

从机扫描得到数据

从机把扫描的数据发送给主机

主机把数据分配给其它从机

使用特权

评论回复
10
PowerAnts| | 2008-11-5 18:50 | 只看该作者

如果协议做得好

任何形式的UART都可以一拖二、一拖三,时分复用。从机的TX串个电阻便行。

以一拖二为例:

TX(从1):  O  O  -  -  -  -  连续发两个包停4个包的时间 
TX(从2) :  -  -  O  -  -  O  发一个包停两个包的时间

使用特权

评论回复
11
hotyong| | 2008-11-5 18:55 | 只看该作者

哦,对不起

5楼的说得对,如果单片机有开漏模式的话是可以的,我认为是51的,我只在51中用过多机通信,其它的单片机没弄过多机的,sorry,

使用特权

评论回复
12
lyjian| | 2008-11-5 19:23 | 只看该作者

楼上要补一下基础了

5楼的电路从机同样可以发送数据的

使用特权

评论回复
13
dzwire|  楼主 | 2008-11-5 20:51 | 只看该作者

感想楼上各位大虾的指点,修改了一下电路

使用特权

评论回复
14
PowerAnts| | 2008-11-5 20:52 | 只看该作者

死翘翘...

二极管反了,主机RXD要上拉

使用特权

评论回复
15
lyjian| | 2008-11-5 20:53 | 只看该作者

13楼电路是错误的。晕

使用特权

评论回复
16
computer00| | 2008-11-5 22:02 | 只看该作者

不如接成一个环,由另一个转发~~~~~

使用特权

评论回复
17
E007| | 2008-11-5 22:30 | 只看该作者

都挺有想法,我也说两句

从硬件上来说:对于标准51MCU,LZ的电路没问题,如果是非标准51,例如,MSP430系列MCU,因为端口输入和输出是由内部控制,做输入时没有输出功能,做输出时没有输入功能,而且做输出时上拉比较强(直接灌电流驱动LED都没问题),象这样的情况,可以象6楼那样做,但是在MCU电源电压较低的情况下,就应考虑下二极管的压降对信号0分辨的影响,这时可以用肖特基二极管,小电流时压降低于0.3V,没问题,除非你的MCU电源低于1V,这时有可能肖特基二极管也无能为力了.
从软件上来说,不管是LZ还是六楼,都要定好协议,就是从设备发送数据不能有冲突,可以靠协议来解决.例如:从设备只有在主设备明确通知其发送的时候才发送,这样就可以达到避免冲突的目的了.

使用特权

评论回复
18
dzwire|  楼主 | 2008-11-6 00:01 | 只看该作者

如果引脚是开漏结构,我上面13楼的图是错的

如果不是开漏结构,象有些单片机的引脚默认是低电平,我13楼的图就应该是正确的

使用特权

评论回复
19
lyjian| | 2008-11-6 09:26 | 只看该作者

不是开漏结构你的图也是错的

使用特权

评论回复
20
dzwire|  楼主 | 2008-11-6 09:57 | 只看该作者

按照你们的意思

串口通讯在不工作的时候,总是把RX和TX置为高电平了

当有低电平时,就有数据发送和接收,只有这样才能说明我13楼的图是错的

而开漏结构只是增加IO口的驱动能力

使用特权

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

本版积分规则

3

主题

10

帖子

1

粉丝