STM32中推挽输出和推挽复用输出的区别
作者:互联网
前言
事情是这样的,最近写了个串口通信的代码,结果死活都发不出去消息,然后研究了好久发现把TX引脚的推挽输出模式改成推挽复用输出模式就正常了,于是来剖析下原理。
正文
我们先来看这一幅图
两者的共同点都是引脚可以通过给出正反向电压来控制MOS管导通从而让引脚输出高低电平,而两者区别就在于推挽复用输出不经过输出数据寄存器(ODR)。
拿usart1为例:若要实现usart1的通信功能,我们就要同时使能GPIOA和外设USART1。如果采用推挽输出,则该引脚电平直接由ODR控制而不受usart外设的控制。因此采用推挽复用输出从而绕过ODR的限制,由相应的外设模块控制。
官方的参考手册也明确给出使用USASRT外设时需要采用推挽复用输出
参考资料
STM32中文参考手册
标签:输出,引脚,ODR,推挽,复用,STM32,外设 来源: https://www.cnblogs.com/icysamon/p/15834656.html