共2条
1/1 1 跳转至页
际踅涣?232 关于232扩展的问题,以前一直这么用,现在居然不行了.
问
以前,如果我的主机需要多个串口时,我一般将主单片机上的一个UART分成多路,然后接上多个232心片,再转换出去,这样就成了多个串口了,只要保证这多个串口上的设备同一时刻只有一个在和主机进行通信工作就可以正常使用,以前我一直用8051单片机这么干,不 衷诨怀蒀8051F020时主机却只能发信号不能收信号了,用示波器一看,原来收到的232脉冲串高电平为5V,低电平却为2V左右,那也就是说没有底电平了,但是将所有串口都去掉,只留一个,也就是主机的UART不分叉直接接一个232心片出去,却又正常了,是不是因为我这样扩展串口不太规范?所以导致了这样结果?我画了张图在压缩文件里,不知大家有没有什么高见啊?
答 1:
还有一个单片机的UART口是可以进行多机通信的,也就是说是可以和多个单片机通信的,那为什么不能和多个232心片通信呢,大家不都是TTL电平吗?!
答 2:
顶一下
答 3:
明白了,我也碰到过这个问题的!是你的RS232转换芯片的输出拉不低。解决方法为串一个二极管,使之不会互相干扰!
答 4:
严重错误多个输出管脚不能接在一起,
如果一个输出高电平,一个输出低电平,会引起冲突。无上拉或弱上来除外。
这里的232芯片显然不可以。 答 5: 567同志不会引起冲突的,因为程序里控制好的,在同一时刻只有一对数据在通信! 答 6: 谢谢小管我们是同志了,呵呵,明天我去试试 答 7: 程序不是万能的,该由硬件电路来解决的还是需要硬件来解决!既然你不明白,我就说的简单些.
按照你的电路,是不是把所有MAX232芯片的R1OUT R2OUT(12,9)全接在一块了?
而R1OUT和R2OUT是MAX232的TTL电平信号输出端,你知道不知道?
不通信的232口输出为高电平,
正在通信的232口输出高低脉冲信号,即有高有低。
这样就带来一个问题,在这段线路上,有的232想要把它拉为高电平,有的232想要把它拉为低电平,这样的结果就是不高不低(严重时还会烧毁芯片)。这就是你所看到的结果。 答 8: 567同志那如果象小管说的加个2极管或应该可以解决这个问题吧 答 9: 不对如果按照567所说的推断的话,那所有多机通信都是不合法的,因为在多机通信中就是很多接受和发送端口连在同一总线上,而不工作的收发端都保持高电平,只有在工作的端口才有高低脉冲,那这样不也要有冲突吗. 答 10: 来个简单的,转成485吧 答 11: 二极管楼主,如果是TTL OC门输出就没问题,问题是你用的232转换芯片很可能是CMOS,而不是TTL的,或者是TTL 图腾柱输出,所以不能直接将几个输出接在一起,加4个极管就可以解决。
协议的问题楼主解决得很好。 答 12: taoest谢谢taoest 答 13: taoest的说法我比较服 答 14: 我用的74HC157一分2,再接ICL232,用一个IO口做选择,很好用的 答 15: 不行我用二极管试过了,效果不行, 答 16: 二极管怎么接?贴图看看二极管怎么接?贴图看看 答 17: 怎么接都试过了正接反接, 答 18: 567和taoest说法是一样的,
为什么不在232信号之后,再来扩展呢?你是怎么把UART分成多路的?
用电子开关4052?
还有,多机通信应该是按地址来通信,每一个用户应该都能收到数据,只是地址不匹配时就不要接收这数据了吧! 答 19: 此图可临时应付一下
如果一个输出高电平,一个输出低电平,会引起冲突。无上拉或弱上来除外。
这里的232芯片显然不可以。 答 5: 567同志不会引起冲突的,因为程序里控制好的,在同一时刻只有一对数据在通信! 答 6: 谢谢小管我们是同志了,呵呵,明天我去试试 答 7: 程序不是万能的,该由硬件电路来解决的还是需要硬件来解决!既然你不明白,我就说的简单些.
按照你的电路,是不是把所有MAX232芯片的R1OUT R2OUT(12,9)全接在一块了?
而R1OUT和R2OUT是MAX232的TTL电平信号输出端,你知道不知道?
不通信的232口输出为高电平,
正在通信的232口输出高低脉冲信号,即有高有低。
这样就带来一个问题,在这段线路上,有的232想要把它拉为高电平,有的232想要把它拉为低电平,这样的结果就是不高不低(严重时还会烧毁芯片)。这就是你所看到的结果。 答 8: 567同志那如果象小管说的加个2极管或应该可以解决这个问题吧 答 9: 不对如果按照567所说的推断的话,那所有多机通信都是不合法的,因为在多机通信中就是很多接受和发送端口连在同一总线上,而不工作的收发端都保持高电平,只有在工作的端口才有高低脉冲,那这样不也要有冲突吗. 答 10: 来个简单的,转成485吧 答 11: 二极管楼主,如果是TTL OC门输出就没问题,问题是你用的232转换芯片很可能是CMOS,而不是TTL的,或者是TTL 图腾柱输出,所以不能直接将几个输出接在一起,加4个极管就可以解决。
协议的问题楼主解决得很好。 答 12: taoest谢谢taoest 答 13: taoest的说法我比较服 答 14: 我用的74HC157一分2,再接ICL232,用一个IO口做选择,很好用的 答 15: 不行我用二极管试过了,效果不行, 答 16: 二极管怎么接?贴图看看二极管怎么接?贴图看看 答 17: 怎么接都试过了正接反接, 答 18: 567和taoest说法是一样的,
为什么不在232信号之后,再来扩展呢?你是怎么把UART分成多路的?
用电子开关4052?
还有,多机通信应该是按地址来通信,每一个用户应该都能收到数据,只是地址不匹配时就不要接收这数据了吧! 答 19: 此图可临时应付一下
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |