EDA365电子工程师网

标题: 单片机的uart可以同时一对多吗? [打印本页]

作者: renxiangbing1    时间: 2018-5-6 18:12
标题: 单片机的uart可以同时一对多吗?
单片机的uart为什么不能同时和俩个模块的串口通信,协议是一模一样的。还是uart只能点对点通信呢。求大神给解释解释。谢谢了!!!

IMG_20180506_180300.jpg (48.29 KB, 下载次数: 0)

IMG_20180506_180300.jpg

作者: lovewhene    时间: 2018-5-6 21:58
可以
作者: asdf193    时间: 2018-5-6 22:21
可以,是一对一的时候,另一个关掉就成,不要两个的数据放一块,影响电平~~~
作者: EDA5555    时间: 2018-5-6 23:20
uart不属于总线通信,无法同时挂2个或以上的进行通信,同一时间只能是一对一。
作者: Ailacee    时间: 2018-5-6 23:25
我来学习啦
作者: zltwin    时间: 2018-5-7 08:50
学习了
作者: lukeluck    时间: 2018-5-7 08:51
非总线 如果wifi 与蓝牙各有一个使能管脚 就可以实现分时复用同一个UART口
作者: renxiangbing1    时间: 2018-5-7 11:34
EDA5555 发表于 2018-5-6 23:20, m- V$ z* _6 P" z
uart不属于总线通信,无法同时挂2个或以上的进行通信,同一时间只能是一对一。

5 V, S6 z9 ]* Y% v8 d3 |俩个同时通信的时候,低电平就低不下来了,这是为什么呢
作者: renxiangbing1    时间: 2018-5-7 11:35
asdf193 发表于 2018-5-6 22:21
$ @  t9 ^0 [' \, f# A可以,是一对一的时候,另一个关掉就成,不要两个的数据放一块,影响电平~~~

, z% _: `# E5 R俩个同时通信的时候,低电平就低不下来了,这是为什么呢
作者: asdf193    时间: 2018-5-7 12:03
renxiangbing1 发表于 2018-5-7 11:35% [/ I, I* y5 ?3 {+ g% {
俩个同时通信的时候,低电平就低不下来了,这是为什么呢

  x6 _# H# {9 P, \: h一对一,中间用个切换芯片隔开,不然后都发,电平叠加,高低叠加会是啥情况,到低是高还中低呢?" T2 l4 o' f1 e8 ?* `! V: p

作者: Soarphys    时间: 2018-5-7 12:50
肯定可以,这个问题涉及到串口组网,可以用协议解决,可以考虑modbus。不过你的WiFi和蓝牙要具备协议解析功能
作者: EDA5555    时间: 2018-5-7 12:53
renxiangbing1 发表于 2018-5-7 11:341 D$ X1 `4 p' _, u
俩个同时通信的时候,低电平就低不下来了,这是为什么呢

, e" e( F* n0 H! A9 O) B& Q像uart的RX信号默认状态是高的,鲁工同时通信的时候,一个收0,一个没有收数据位高,思域这情况就都是高啊。TX也是同样的道理) d2 U4 C0 N( k6 ]. W

作者: renxiangbing1    时间: 2018-5-7 14:32
EDA5555 发表于 2018-5-7 12:53* G  L  Y- X. O' \% B4 T
像uart的RX信号默认状态是高的,鲁工同时通信的时候,一个收0,一个没有收数据位高,思域这情况就都是高 ...
/ v5 P1 b) O( h. `* L9 \# I- q
这俩个模块和mcu的协议是一模一样的,发送和接受的内容都一样,理论上不会存在高低电平叠加的情况吧
作者: renxiangbing1    时间: 2018-5-7 14:32
EDA5555 发表于 2018-5-7 12:53* v" Z2 H& \/ I
像uart的RX信号默认状态是高的,鲁工同时通信的时候,一个收0,一个没有收数据位高,思域这情况就都是高 ...

, J: ?- X4 \* G* S! t这俩个模块和mcu的协议是一模一样的,发送和接受的内容都一样,理论上不会存在高低电平叠加的情况吧
作者: renxiangbing1    时间: 2018-5-7 14:36
Soarphys 发表于 2018-5-7 12:50: p, e- V% z7 K& E) a1 s$ Q1 s
肯定可以,这个问题涉及到串口组网,可以用协议解决,可以考虑modbus。不过你的WiFi和蓝牙要具备协议解析功 ...
2 _. e6 e8 z# W7 P( I- p) T
俩个模块的软件协议是一模一样的,不需要从协议上区分,但是没法同时通讯,只要拆下任意一个就好了,为啥呢
作者: Soarphys    时间: 2018-5-7 14:43
本帖最后由 Soarphys 于 2018-5-7 15:02 编辑 * e3 `: u: }% O) l# C9 \
renxiangbing1 发表于 2018-5-7 14:36+ o: \8 u0 u5 T, [' o& U1 n$ d9 x
俩个模块的软件协议是一模一样的,不需要从协议上区分,但是没法同时通讯,只要拆下任意一个就好了,为啥 ...

5 Q8 S8 M& |+ [& y& v7 Q协议一样,并且是同时收发吗。发送还可以:那就是带不动,驱动电流不够;接收够呛,调整好时序,WiFi和蓝牙同时发送就会冲突,上升时间不一样不同步。
& K/ |9 q/ Q) l! G7 A
作者: renxiangbing1    时间: 2018-5-7 14:48
renxiangbing1 发表于 2018-5-7 14:329 ?- v  |- I" ~, L9 Q* ?2 N8 k
这俩个模块和mcu的协议是一模一样的,发送和接受的内容都一样,理论上不会存在高低电平叠加的情况吧

6 }! ^  n. }+ ^" Y2 Q5 ?) ktx和rx的空闲状态都是高,我知道。但是我发送0或者接受0的时候俩个模块的tx或者rx不是都被拉成0了吗,怎么还会存在一个是0,一个是高电平的情况,麻烦给解释一下,谢谢了
作者: renxiangbing1    时间: 2018-5-7 14:54
Soarphys 发表于 2018-5-7 14:439 u  S; D: L" {) p0 h
协议一样,并且是同时收发吗。发送还可以:那就是带不动,驱动电流不够;接受够呛,调整好时序,WiFi和蓝 ...

  ?' N3 X! n/ j2 [8 Y3 ^用示波器看信号,高电平没事,就是低电平的时候低不下来,信号是一半高。不知道是哪拉着呢
作者: lukeluck    时间: 2018-5-7 16:48
https://www.eda365.com/portal.php ... amp;_dsign=1f782a7f + U  h' G' H1 i& ], x7 j5 q) e9 _

作者: kevin890505    时间: 2018-5-8 09:54
从逻辑上就没法这么用,你中间加个开关撒,同一时间只一个通讯就OK了。
作者: bluskly    时间: 2018-5-8 11:11
我建议增加一个开关,采用GPIO进行控制开关的切换。




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2