更改STM32上的硬件流控制引脚
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更改STM32上的硬件流控制引脚相关的知识,希望对你有一定的参考价值。
我一直在阅读有关串行通信的握手和硬件流控制,我有一个问题,我似乎无法找到答案。
如果为cubeMX上的串行端口设置硬件流控制,它将设置所需的引脚。我知道您也可以使用替代引脚,这可以通过cubeMX完成。
我的问题是,您是否可以通过使用不同的引脚手动设置硬件流量控制,或者您是否必须使用实现的引脚?
我使用的是STM32F207ZETx,我使用的是USB和串口 - 但是当使用USB外设时,它会阻止我需要的USART1的硬件流控制引脚,我需要为我的项目进行硬件流控制!用于硬件流控制的备用引脚也已经使用,所以我有点腌渍。
我的问题是,您是否可以通过使用不同的引脚手动设置硬件流量控制,或者您是否必须使用实现的引脚?
您可以自己在软件中进行硬件流控制,事实上它很简单。
USART1_RTS是输出引脚。当USART1准备好接收数据时,它被设置为/高。 USART1_CTS是输入引脚。另一端在准备好接收数据时将其设置为高,而在不准备接收数据时将其设置为低。
假设您一次发送和接收一个字符,并使用两个GPIO引脚用于USART1_RTS和USART1_CTS而不是硬件支持。
通常,您将USART1_RTS保持为高电平。接收数据时,如果接收缓冲区用完,则将USART1_RTS设置为低电平。当您在接收缓冲区中腾出更多空间时,将USART1_RTS设置为高电平。 (如果您的缓冲方案不能用完接收缓冲区,则可以将RTS线绑定为高电平。)
在发送每个字符之前,检查USART1_CTS是否为高电平。如果它很低,则不发送数据,而是等待USART1_CTS变为高电平。
而已。
以上是关于更改STM32上的硬件流控制引脚的主要内容,如果未能解决你的问题,请参考以下文章