11765|17

40

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

谁会硬件流控制,help me! [复制链接]

折腾我两个星期了,STM32的板子上实现485通信了,可一直要进行方向控制很烦,看到有硬件流控制的方法可以解决,但问题是不会呀...求教!我这STM32F107VCT6的板子上就引出RTS,RX,TX了,没CTS,谁有方法啊,感激不尽啊!求指教!求程序!求代码!
此帖出自stm32/stm8论坛

最新回复

问题在于485根本没有流控的概念。  详情 回复 发表于 2011-4-22 23:53
点赞 关注
 

回复
举报

1万

帖子

139

TA的资源

版主

沙发
 
485不需要什么RTS、CTS,用任一IO控制接口芯片的收发使能引脚即可,没有多余IO可用纯硬件方法控制,前提是通讯速率不能太高,具体方法,用一反相器(可以是非门也可以用一个晶体管)将数据发送反向后接收发控制使能端,同时总线用偏置电阻将静态逻辑偏置到1,这种方法是发0不发1,逻辑1靠偏置实现。
此帖出自stm32/stm8论坛
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 chunyang 的帖子

我想通过RTS方向自动控制485通讯,就是在USART的设置里令       
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_RTS;
这样有办法实现么,需要怎么设置呀?
此帖出自stm32/stm8论坛
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

4
 
 控制硬件流是控制数据的传输节奏,可不是用来切换收发的,这是旧社会的做法,这年头由于硬软件的速度都快了,所以很少用了。485本来就允许双向传送,收发切换应由软件完成。

 当然,如果板子的实际电路确实将RTS接到了485控制芯片的Rx/Tx的使能端的话,没准可以借用,但前提是对电路要清楚。
此帖出自stm32/stm8论坛
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

5
 

回复 4楼 仙猫 的帖子

任务要求是使用硬件流控制,自动控制485通讯的收发状态的转换,这头大了,你越说我越没头绪了,求你的旧社会做法...
此帖出自stm32/stm8论坛
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

6
 

回复 5楼 霜天 的帖子

 ①“控制数据流”和②“方向切换”是两码事,不知楼主说的是哪一方?
 前者①是当接收方的吞吐量有限时,临时让发送方稍作停顿的方法,硬件实现时通常是用CTS、RTS等握手线,也可用软件,如x_on/x_off方法。后者②指的是通信接口信号的方向切换,因485是收发共用一根线的,不切换就会信号顶牛。
此帖出自stm32/stm8论坛
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

7
 
 如果说要“自动控制收发转换”也是有办法的,但需在电路上做些手脚,代价是通信速率不能太高,这样做无需多用I/O,跟RTS/CTS没关系,软件也可以不管方向切换。楼主是不是想做成这样的?
此帖出自stm32/stm8论坛
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

8
 

回复 7楼 仙猫 的帖子

感激不尽,大侠!电路我还不清楚呢,以前的这块板子上485通讯程序我就是控制RTS的电平0和1来控制接收状态和发送状态的转换,这样目的实现了,但是软件里每次发之前或者接收之前都要设置下RTS的电平,我想这样把硬件流控制打开后,RTS的电平应该是能自动转换的把,就是不知道在以前的485的程序上哪些地方还需要设置下?求指教!
此帖出自stm32/stm8论坛
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

9
 

回复 8楼 霜天 的帖子

 RTS的原意是“Ready to Send”,用于流控制的,是接收方告诉发送方“我这里已准备好接收”的信号,而不是硬件意义上的方向控制。
 建议你先把电路图亮出来晒一晒再讨论。
此帖出自stm32/stm8论坛
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

10
 

回复 9楼 仙猫 的帖子

请指教!求解决的办法,电路图不会看啊... 电路图.rar (36.87 KB, 下载次数: 71)
此帖出自stm32/stm8论坛
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

11
 

回复 10楼 霜天 的帖子

 oo......这个电路里的RTS已不是原本意义上控制数据流的握手信号,被借用当作方向切换信号了,由软件设置方向:置RTS为高=发送,置RTS为低=接收。
 如要改成自动切换方向,须对电路动下手术,想这么做?

485硬件电路图.gif (32.97 KB, 下载次数: 1)

485硬件电路图.gif
此帖出自stm32/stm8论坛
 
 
 

回复

1万

帖子

139

TA的资源

版主

12
 
楼主不要再钻牛角尖了,485的收发切换和硬件流控无关,用相关管脚也是将其当作IO处理,已经连接的话,用指令控制即可,根本不必麻烦,没有空余IO时就照我前面说的做就是,楼主的问题本质上在于没有理解流控的意义和485的收发切换。
此帖出自stm32/stm8论坛
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

13
 

回复 11楼 仙猫 的帖子

那改为RTS或CTS来自动控制方向行不,需要在485的程序里修改哪些地方?STM32F207VCT6的核心板应该能实现方向的自动切换吧,不管软件设置还是硬件更改,先能实现方向的自动转换才是王道啊!
此帖出自stm32/stm8论坛
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

14
 

回复 12楼 chunyang 的帖子

恩,确实没清楚呢,我还是个还没入门的新手呢,高手理解...按照你所说,我再去看了下硬流控的定义,它里面说是需要用到RTS和CTS的,而且还要PC和STM32板中的RTS,CTS互连?弱弱的问句,如果只用RTS或者CTS来实现硬流控可行不?
此帖出自stm32/stm8论坛
 
 
 

回复

375

帖子

0

TA的资源

一粒金砂(高级)

15
 
如果楼主实在想要硬件自动控制数据流的方向 不如换个片子,记得maxim有款485的接口片子,可以自动切换方向。
此帖出自stm32/stm8论坛
 
 
 

回复

1万

帖子

139

TA的资源

版主

16
 
问题在于485根本没有流控的概念。
此帖出自stm32/stm8论坛
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

17
 

回复 15楼 00750 的帖子

板子公司给的,不好换的,现在高手说用纯硬件解决了,不知道怎么整的,有机会得去学习下
此帖出自stm32/stm8论坛
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

18
 

回复 16楼 chunyang 的帖子

你的意思是流控就232有么?
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表