其他分享
首页 > 其他分享> > STM32中推挽输出和推挽复用输出的区别

STM32中推挽输出和推挽复用输出的区别

作者:互联网

前言

事情是这样的,最近写了个串口通信的代码,结果死活都发不出去消息,然后研究了好久发现把TX引脚的推挽输出模式改成推挽复用输出模式就正常了,于是来剖析下原理。

正文

我们先来看这一幅图

两者的共同点都是引脚可以通过给出正反向电压来控制MOS管导通从而让引脚输出高低电平,而两者区别就在于推挽复用输出不经过输出数据寄存器(ODR)


拿usart1为例:若要实现usart1的通信功能,我们就要同时使能GPIOA和外设USART1。如果采用推挽输出,则该引脚电平直接由ODR控制而不受usart外设的控制。因此采用推挽复用输出从而绕过ODR的限制,由相应的外设模块控制。


官方的参考手册也明确给出使用USASRT外设时需要采用推挽复用输出


参考资料

STM32中文参考手册

标签:输出,引脚,ODR,推挽,复用,STM32,外设
来源: https://www.cnblogs.com/icysamon/p/15834656.html