打印

请教一个单片机串口如何接收多路串口输入?

[复制链接]
5624|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
wh6ic| | 2015-11-2 15:59 | 只看该作者
挂一个串口转多路串口芯片,比如1拖5的国腾GM8125。

使用特权

评论回复
板凳
jjjyufan| | 2015-11-2 17:28 | 只看该作者
把你的232芯片换485芯片 然后软件做轮询 叫号 通讯

使用特权

评论回复
地板
jason_77chen|  楼主 | 2015-11-4 07:59 | 只看该作者
本帖最后由 jason_77chen 于 2015-11-4 08:05 编辑
jjjyufan 发表于 2015-11-2 17:28
把你的232芯片换485芯片 然后软件做轮询 叫号 通讯

我的没有外接232,就是一些MCU与MCU的串口通信

使用特权

评论回复
5
jason_77chen|  楼主 | 2015-11-4 08:01 | 只看该作者
本帖最后由 jason_77chen 于 2015-11-4 08:04 编辑
wh6ic 发表于 2015-11-2 15:59
挂一个串口转多路串口芯片,比如1拖5的国腾GM8125。

这个说**是我想要的意思,谢谢
哇,好贵哦,20来块啊,

使用特权

评论回复
6
gx_huang| | 2015-11-4 08:35 | 只看该作者
如果只是MCU和MCU近距离的通信,如果6个MCU的TXD可以配置为OC输出,那6个MCU的TXD直接接主MCU的RXD,6个MCU的RXD接主CPU的TXD。软件查询通信,避免同时通信冲突就可以了,类似RS485的方式。

使用特权

评论回复
评论
gmm2015 2015-11-10 08:44 回复TA
正解 
7
ningling_21| | 2015-11-4 08:43 | 只看该作者
jason_77chen 发表于 2015-11-4 07:59
我的没有外接232,就是一些MCU与MCU的串口通信

6个二极管实现

使用特权

评论回复
8
handlike| | 2015-11-4 08:45 | 只看该作者
10米以内的距离直接RS232多机通信没有问题,二、三十个连接通信只要波特率不太高都不是问题.

使用特权

评论回复
9
jason_77chen|  楼主 | 2015-11-4 10:56 | 只看该作者
gx_huang 发表于 2015-11-4 08:35
如果只是MCU和MCU近距离的通信,如果6个MCU的TXD可以配置为OC输出,那6个MCU的TXD直接接主MCU的RXD,6个MCU ...

那好好去想一想,谢谢

使用特权

评论回复
10
jason_77chen|  楼主 | 2015-11-4 10:57 | 只看该作者

6个二极管? :Q,没想通怎么个实现方式 

使用特权

评论回复
11
jason_77chen|  楼主 | 2015-11-4 10:58 | 只看该作者
handlike 发表于 2015-11-4 08:45
10米以内的距离直接RS232多机通信没有问题,二、三十个连接通信只要波特率不太高都不是问题. ...

谢谢这位兄台,我不用RS232

使用特权

评论回复
12
ningling_21| | 2015-11-4 11:35 | 只看该作者
jason_77chen 发表于 2015-11-4 10:57
6个二极管? ,没想通怎么个实现方式 



供参考

使用特权

评论回复
评论
zyj9490 2015-11-10 08:30 回复TA
还要上拉电阻,二极管阳极这边。 
zyj9490 2015-11-10 08:29 回复TA
对的,有一款产品我就是这么干的。这是N年前的事了,关键是协议要整好。 
13
jason_77chen|  楼主 | 2015-11-5 10:30 | 只看该作者

谢谢
弱弱的问一下:发送 与 接收? 是否写错边了,如没错,那数据发送不过来吧,如TXD1 发过的数据不是被二极管给阻扯了,这个做法,看是可以同时发送,到时候具体操作一下,但如果主MCU要接收多个串口发送过来的数据,估计得分时接收了,

使用特权

评论回复
14
ningling_21| | 2015-11-5 10:33 | 只看该作者
jason_77chen 发表于 2015-11-5 10:30
谢谢
弱弱的问一下:发送 与 接收? 是否写错边了,如没错,那数据发送不过来吧,如TXD1 发过的 ...

没错,但必须保证发送端不能同时发送

使用特权

评论回复
15
jason_77chen|  楼主 | 2015-11-5 10:42 | 只看该作者
本帖最后由 jason_77chen 于 2015-11-5 10:49 编辑
ningling_21 发表于 2015-11-5 10:33
没错,但必须保证发送端不能同时发送

二极管都反向了,读不到状态值啊:Q

使用特权

评论回复
16
ningling_21| | 2015-11-5 11:03 | 只看该作者
jason_77chen 发表于 2015-11-5 10:42
二极管都反向了,读不到状态值啊

你先用一发一收 试试看

使用特权

评论回复
17
gx_huang| | 2015-11-5 11:04 | 只看该作者
jason_77chen 发表于 2015-11-5 10:42
二极管都反向了,读不到状态值啊

那是你太菜了,二极管是实现线与的功能,RXD端需要上拉的呀。
如果TXD有OC输出,二极管都省了。

使用特权

评论回复
评论
zyj9490 2015-11-10 08:32 回复TA
TXD无法选择OC的吧。应都是PP输出的。 
18
yhn1973| | 2015-11-5 11:38 | 只看该作者
距离近直接连,管脚配置成开漏加上拉电阻输出就可以了

使用特权

评论回复
19
jason_77chen|  楼主 | 2015-11-10 08:20 | 只看该作者
gx_huang 发表于 2015-11-5 11:04
那是你太菜了,二极管是实现线与的功能,RXD端需要上拉的呀。
如果TXD有OC输出,二极管都省了。 ...

多谢!确实要学的东西还很多,还得努力

使用特权

评论回复
20
datouyuan| | 2015-11-11 09:38 | 只看该作者
gx_huang 发表于 2015-11-5 11:04
那是你太菜了,二极管是实现线与的功能,RXD端需要上拉的呀。
如果TXD有OC输出,二极管都省了。 ...

绝大部分51mcu的TXD都是准双向(相当于OC输出加上拉电阻),所以二极管是不需要的.

我所见的mcu中,只有新塘的contex,只要把引脚配置成TXD功能,就自动把这个脚配置成推挽(尽管你配置成OC也没用),这种芯片多机通讯要加二极管隔离.

使用特权

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

本版积分规则

18

主题

151

帖子

2

粉丝