我正在设计一个带有STM32f722 MCU(64引脚版本)的电路板,我不能浪费/不使用任何GPIO。我的问题是:是否可以选择仅使用uart / usart的Rx引脚,以便Tx引脚可以用于其他东西(在我的情况下是SPI_SCK)?如果我在STM32CubeMx中启用uart / usart并转到“配置”选项卡,我可以将“数据方向”更改为“仅接收”。但这并不能禁用Tx引脚。另一种方法可能是使用半双工模式,但无论如何都会使用Tx引脚,我无法将其用于SPI。我仍在计划自己的主板,没有任何硬件可供测试。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
但是,这并不意味着您无法共享不同功能的引脚。
这里的关键是专用一些引脚或多个引脚,以允许外部电路,多路复用器,门等,以了解器件当前如何使用引脚。这听起来意味着要占用更多的引脚,但如果你有足够的引脚可以共享,那么引脚的总数就可以减少。
在串行线路的情况下,您当然需要对其进行时间复用。也就是说,您无法在将引脚用于其他功能的同时进行串行通信。
但是,有一个肯定会有效的解决方案
为您要使用的非USART功能配置发送引脚,因为STM32允许任何引脚的唯一分配,而不管其他引脚。
配置USART接收备用功能的RX引脚
当您想要发送时,将RX引脚重新配置为GPIO并对信号进行位操作。位冲击发送可能比必须进行位采样接收更清晰,因为只要您及时重新配置引脚,就可以继续使用USART的接收中断。
你需要弄清楚的一件事是,当你有点传输时,USART会发生什么 - 不确定你是否会收到你自己的传输,甚至进入错误状态,但你可以清除标志时你切换回接收模式。
一周热门 更多>