|
STM32共有8种类型, 4种输入模式,4种输出模式
一、输入模式 (1)浮空输入 I/O的电平状态是不确定的,完全由外部输入决定,所以在要读取外部信号时通常配置IO口为浮空输入模式。 (2)上拉/上拉输入模式 下拉: IO口悬空时,输入电平保持在低电平;IO口输入为高电平时,输入端为高电平 下拉: IO口悬空时,输入电平保持在高电平;IO口输入为低电平时,输入端为低电平 b3 Q6 ?8 `9 G3 }2 M% l! U( Z$ W
WK_UP为PA0引脚,上拉到3.3V,设置为下拉输入模式,按键按下检测到高电平 KEY2为PA13引脚,下拉到GND, 设置为上拉模式,按键按下检测到低电平 6 P, l9 H! O2 ]: s' r0 } (3)模拟输入模式 I/O端口的模拟信号(电压信号,而非电平信号)直接模拟输入到片上外设模块,比如ADC模块 二、输出模式 (1)推挽输出 在推挽输出模式下,P-MOS管和N-MOS管同时工作,通过对两个MOS管的导通控制,实现控制输出高低电平。大多数IO口都使用推挽输出或者复用推挽输出。 高电平时,P-MOS管导通,N-MOS管截止,输出高电平 低电平时,此时P-MOS管截止,N-MOS管导通,输出低电平 0. 1 p l6 C$ i! O. X! h1 q (2)开漏输出 在开漏输出模式下,P-MOS管是不工作的, 只有N-MOS 管工作。即始终输出低电平。 VDD为外部接入的上拉 8 z% V- \+ ^3 R
高电平时,P-MOS管截止,N-MOS管也截止,输出的高电平是外部上拉电源的电平。 低电平时,P-MOS管截止,N-MOS管导通,输出低电平。 开漏输出模式下,必须要有外部上拉电阻,如果没有外部上拉电源,输出的信号只有 低电平,没有高电平。 对比: 1) 推挽输出模式可以不需要外部辅助电路就可以直接输出高低电平,所以可以用于直接控制数字电路。 2) 漏输出模式下,通过外部 上来电源实现 高低电平,这个外部电源不需要跟CPU的电平完全一致,比如STM32的CPU电源是3.3V,开漏模式下,完全可以使用上拉5V,这样的话,就可以实现 5V的电平 了,对于一些外围器件,如果外围器件的电平与CPU不同,只需要上拉对应的电平电源就可以了。(开漏是用来连接不同电平的器件,匹配电平用的) 3) 推挽输出就是CPU 能够 直接 推动输出 电平。开漏输出就是 断开 漏极,需要外接辅助上拉电阻。 , m# L$ R% x& N% H! H5 } (3)复用开漏/推挽输出 推挽复用输出模式,与推挽输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的。 开漏复用输出模式,与开漏输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的 $ w2 L% G% c2 `. `2 nSTM32F103 GPIO外设模式配置: GPIO configurations for device peripherals
转载自:light 如有侵权请联系删除4 }3 L. _" i* _9 s |
《STM32CubeMX2 实战课程》学习笔记5+CubeMX2生成的Uart初始化代码中没有使能
《STM32CubeMX2 实战课程》学习笔记4+FreeRTOS中的SysTick错误及改正
使用stm32C542做的低功耗密码锁示例
《STM32CubeMX2 实战课程》学习笔记1+由MX2生成MDK5项目并打开
《STM32CubeMX2 实战课程》学习笔记3.+sleep/stop/standby低功耗模式的入口
《STM32CubeMX2 实战课程》学习笔记2+MX2生成的MDK5工程中添加已存在文件(*.c / *.h)
【STM32MP257-DK】01开发板开箱、ST MPU 生态资源使用、环境搭建以及镜像更新
基于STM32在线升级OTA经验分享
【STM32C0测评】Nucleo-C092开发板驱动DS1302实验
Keil下的STM32N6之RAM运行工程配置说明
微信公众号
手机版