
STM32共有8种类型, 4种输入模式,4种输出模式 % H. V% ~- f( v% i6 ?! {; ~ s![]() 一、输入模式 (1)浮空输入 I/O的电平状态是不确定的,完全由外部输入决定,所以在要读取外部信号时通常配置IO口为浮空输入模式。 ( a' x: h6 G# k/ t; B3 f- G6 R (2)上拉/上拉输入模式 下拉: IO口悬空时,输入电平保持在低电平;IO口输入为高电平时,输入端为高电平 下拉: IO口悬空时,输入电平保持在高电平;IO口输入为低电平时,输入端为低电平 ![]() WK_UP为PA0引脚,上拉到3.3V,设置为下拉输入模式,按键按下检测到高电平 KEY2为PA13引脚,下拉到GND, 设置为上拉模式,按键按下检测到低电平 ( v/ ]5 p0 y/ f" k: ^% K; _. g (3)模拟输入模式 I/O端口的模拟信号(电压信号,而非电平信号)直接模拟输入到片上外设模块,比如ADC模块 二、输出模式 (1)推挽输出 在推挽输出模式下,P-MOS管和N-MOS管同时工作,通过对两个MOS管的导通控制,实现控制输出高低电平。大多数IO口都使用推挽输出或者复用推挽输出。 高电平时,P-MOS管导通,N-MOS管截止,输出高电平 低电平时,此时P-MOS管截止,N-MOS管导通,输出低电平 0. (2)开漏输出 在开漏输出模式下,P-MOS管是不工作的, 只有N-MOS 管工作。即始终输出低电平。 VDD为外部接入的上拉 ![]() 高电平时,P-MOS管截止,N-MOS管也截止,输出的高电平是外部上拉电源的电平。 低电平时,P-MOS管截止,N-MOS管导通,输出低电平。 开漏输出模式下,必须要有外部上拉电阻,如果没有外部上拉电源,输出的信号只有 低电平,没有高电平。 对比: 1) 推挽输出模式可以不需要外部辅助电路就可以直接输出高低电平,所以可以用于直接控制数字电路。 2) 漏输出模式下,通过外部 上来电源实现 高低电平,这个外部电源不需要跟CPU的电平完全一致,比如STM32的CPU电源是3.3V,开漏模式下,完全可以使用上拉5V,这样的话,就可以实现 5V的电平 了,对于一些外围器件,如果外围器件的电平与CPU不同,只需要上拉对应的电平电源就可以了。(开漏是用来连接不同电平的器件,匹配电平用的) 3) 推挽输出就是CPU 能够 直接 推动输出 电平。开漏输出就是 断开 漏极,需要外接辅助上拉电阻。 " K4 l5 b4 K, z" |0 B (3)复用开漏/推挽输出 推挽复用输出模式,与推挽输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的。 开漏复用输出模式,与开漏输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的 STM32F103 GPIO外设模式配置: GPIO configurations for device peripherals ![]() ![]() ![]() ![]() ![]() 转载自:light 如有侵权请联系删除3 p0 u4 j% H5 h0 L. g | |
Keil下的STM32N6之RAM运行工程配置说明
【STM32MP257-DK】01开发板开箱、ST MPU 生态资源使用、环境搭建以及镜像更新
兔哥的初代M33【002】-H503Nucleo 内部flash操作
兔哥的杂谈【002】——如何性价比更高地去编译STM32
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
FreeRTOS学习笔记2
【NUCLEO-H533RE评测】+05 调试PWM
基于STM32在线升级OTA经验分享
基于STM32 hardfault问题分析经验分享
【NUCLEO-C0评测】硬件OLED显示