专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
关于RTS和CTS的用处,谁能给个定论啊
2020-01-01 17:56
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
17810
24
24
我用UART的时候好像从来没有
用到这两根线,
就光是GND,RX还有TX
好像也能正常传输数据……
这两根线既然不是费用不可
为什么还会有 '-_-
另外问下这三个概念区别和联系
我们常说的“串口”
UART
USART
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
24条回答
shangdawei
2020-01-03 17:32
<<ADSP-BF54x Blackfin®处理器增强的UART>>
EE-331_cn.pdf
(201.07 KB, 下载次数: 1)
2016-7-20 15:21 上传 点击文件名下载附件
硬
件流控制
硬件流控制是一个公用握手协议,用于使能UART接收器来防止当接收缓冲器溢出时,对应的发送器依旧发送数据。
接收器产生称为请求发送的RTS输出信号,当接收缓冲器填满并超过门限时,将使该信号无效。
发送器接收称为清除发送的CTS输入信号,当CTS无效时就停止发送。
当然,仍然会完成当前处理字的发送。
对于双向数据流,硬件连接如图所示。
Capture_0019.jpg
(34.16 KB, 下载次数: 0)
下载附件
2016-7-20 15:18 上传
在工业设备中,RTS和CTS信号通常低电平有效(低电平时发送)。
通过设定UARTx_MCR寄存器中的FCPOL位可改变信号极性,使RTS和CTS变为高电平有效(高电平时发送)。
接收器RTS产生
UARTx_MCR寄存器中的ARTS位可使能自动产生RTS信号。
如果ARTS=0,则RTS输出信号的状态由MRTS位控制。
若ARTS=1,RTS输出说明接收缓冲器的状态。
与控制中断时序的RFIT位类似,接收FIFO RTS门限值位(RFRT)控制RTS信号的有效性。
与中断不同,RTS信号的有效和无效都有滞后现象。
当接收缓冲器中有两个(RFRT=0)或者四个(RFRT=1)字节,且检测到第三或者第五个开始位时,则RTS信号无效。
由于UARTx_RBR的读操作,当接收缓冲区低于两个(RFRT=0)或四个(RFRT=1)字节的门限时,则RTS将再次有效。
由于在端口复用级也必须使能RTS信号,给该信号加上拉电阻(当FCPOL=1时上拉)有利于防止处理器复位周期中的浮动。
同样,TX输出端的上拉电阻也可以避免处理器复位周期中的浮动。
发送器监测CTS
在UARTx_MCR寄存器中有个新的称为ACTS的位,当置位时,使能自动CTS监测。
一旦发送器检测到CTS输入引脚的电平被撤销,就完成当前TSR移位寄存器中的字发送。
然而,它会阻止UARTx_THR寄存器中当前的字发送给TSR寄存器,直到CTS再次有效为止。
另外,在UARTx_MCR中还有一个新的称为CTS的位,表示CTS输入信号是否有效。
此外,还有一个与CTS位相关联的SCTS位,W1C软件操作可对该位清零。
如果使能了EDDSI位,无论SDTS是否为1,都会产生所谓的调制解调器状态中断,并作为UART状态中断的信号量。
与CTS输入引脚相似,软件可以暂停发送。该过程可以通过设定UARTx_MCR寄存器中的XOFF位而立即实现。
在自回环模式(LOOP_ENA=1),接收器的RTS输出直接由内部回送到发送器的CTS输出。
加载中...
查看其它24个回答
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
硬
件流控制
硬件流控制是一个公用握手协议,用于使能UART接收器来防止当接收缓冲器溢出时,对应的发送器依旧发送数据。
接收器产生称为请求发送的RTS输出信号,当接收缓冲器填满并超过门限时,将使该信号无效。
发送器接收称为清除发送的CTS输入信号,当CTS无效时就停止发送。
当然,仍然会完成当前处理字的发送。
对于双向数据流,硬件连接如图所示。
Capture_0019.jpg (34.16 KB, 下载次数: 0)
下载附件
2016-7-20 15:18 上传
在工业设备中,RTS和CTS信号通常低电平有效(低电平时发送)。
通过设定UARTx_MCR寄存器中的FCPOL位可改变信号极性,使RTS和CTS变为高电平有效(高电平时发送)。
接收器RTS产生
UARTx_MCR寄存器中的ARTS位可使能自动产生RTS信号。
如果ARTS=0,则RTS输出信号的状态由MRTS位控制。
若ARTS=1,RTS输出说明接收缓冲器的状态。
与控制中断时序的RFIT位类似,接收FIFO RTS门限值位(RFRT)控制RTS信号的有效性。
与中断不同,RTS信号的有效和无效都有滞后现象。
当接收缓冲器中有两个(RFRT=0)或者四个(RFRT=1)字节,且检测到第三或者第五个开始位时,则RTS信号无效。
由于UARTx_RBR的读操作,当接收缓冲区低于两个(RFRT=0)或四个(RFRT=1)字节的门限时,则RTS将再次有效。
由于在端口复用级也必须使能RTS信号,给该信号加上拉电阻(当FCPOL=1时上拉)有利于防止处理器复位周期中的浮动。
同样,TX输出端的上拉电阻也可以避免处理器复位周期中的浮动。
发送器监测CTS
在UARTx_MCR寄存器中有个新的称为ACTS的位,当置位时,使能自动CTS监测。
一旦发送器检测到CTS输入引脚的电平被撤销,就完成当前TSR移位寄存器中的字发送。
然而,它会阻止UARTx_THR寄存器中当前的字发送给TSR寄存器,直到CTS再次有效为止。
另外,在UARTx_MCR中还有一个新的称为CTS的位,表示CTS输入信号是否有效。
此外,还有一个与CTS位相关联的SCTS位,W1C软件操作可对该位清零。
如果使能了EDDSI位,无论SDTS是否为1,都会产生所谓的调制解调器状态中断,并作为UART状态中断的信号量。
与CTS输入引脚相似,软件可以暂停发送。该过程可以通过设定UARTx_MCR寄存器中的XOFF位而立即实现。
在自回环模式(LOOP_ENA=1),接收器的RTS输出直接由内部回送到发送器的CTS输出。
一周热门 更多>