这是我个人总结的GPIO各种配置模式,还请大佬们看一下是否有差错,请大佬们斧正。 输入模式: GPIO输入模式是指将GPIO引脚配置为接收外部信号的状态。在输入模式下,引脚可以读取外部设备 的电平状态(高电平或低电平),并将其转换为单片机内部可以识别的数字信号。 输出模式:GPIO输出模式是指将GPIO引脚配置为输出数字信号的状态。在输出模式下,单片机可以控制引脚输出高电平或低电平信号,从而控制外部设备 的工作状态。 1. 输入浮空输入浮空是指GPIO引脚没有连接到任何外部电路,既没有上拉也没有下拉,当没有外部信号产生时其状态不确定,当有外部信号产生时电平由外部信号决定。 2. 输入上拉定义:输入上拉是指GPIO引脚内部连接了一个上拉电阻到电源电压。 设计原因:确保在没有外部信号驱动时,引脚保持高电平状态,减少噪声和干扰的影响。 作用:用于确保在无信号或弱信号输入时,引脚不会处于不确定状态,提高信号的抗干扰能力。 (P:相比较浮空模式,当外接电阻过大时,可能存在弱上拉,输出高电平能力不够。) 3. 输入下拉定义:输入下拉是指GPIO引脚内部连接了一个下拉电阻到地。 设计原因:确保在没有外部信号驱动时,引脚保持低电平状态,减少噪声和干扰的影响。 作用:用于确保在无信号或弱信号输入时,引脚不会处于不确定状态,提高信号的抗干扰能力。 (P:相比较浮空模式,当外接电阻过大时,可能存在弱下拉,输出低电平能力不够。) 4. 模拟输入模拟输入是指能够接收连续变化的模拟信号的输入端口。这些信号可以是电压、电流或其他形式的物理量。模拟输入通常需要一个放大器或前置放大器来放大和调理信号,以便于后续电路进行处理。 5. 开漏输出定义:开漏输出是指GPIO引脚只能输出低电平或处于高阻态(既不是高电平也不是低电平,而是一种特殊的中间状态),不能直接输出高电平。 设计:通过使用NMOS晶体管,当晶体管导通时,引脚连接到地;当晶体管截止时,引脚处于高阻态。 设计原因:允许多个开漏输出引脚连接到同一线上,实现线与功能。 作用:用于需要多个信号源共同控制一条线的场景,或者需要外部上拉电阻来决定高电平的场合。(当多个信号源控制,只有由一个设备输出低电平,这条总线就输出低电平。) 上升沿延时:开漏输出由于需要外部上拉电阻来产生高电平,因此会引入上升沿延时。延时的大小取决于上拉电阻的阻值。 功耗问题:当上拉电阻选择小阻值时,虽然可以减小上升沿延时,但会增加功耗。反之,选择大阻值时,虽然功耗降低,但延时增加。 输出能力受限:开漏输出的输出能力相对较弱,特别是当负载消耗电流较大时,可能需要额外的驱动电路来增强输出能力。 6. 推挽式输出定义:推挽式输出是指GPIO引脚能够直接输出高电平和低电平。 设计:通过使用一个NPN晶体管和一个PNP晶体管,分别用于输出低电平和 高电平。 设计原因:提供足够的电流来直接驱动负载,无需外部上拉或下拉。 作用:用于直接驱动LED、继电器、马达等负载。 信号源冲突:当有多个信号源,并且信号源输出的电平本系统则会导致电路短路。 7. 推挽式复用功能定义:推挽式复用功能是指GPIO引脚可以在不同的功能之间切换,如输入、输出或其他特定功能。 设计:通过内部多路复用器(MUX)来选择引脚的功能。 设计原因:为了节省引脚数量,提高IC的集成度。 作用:允许单个引脚执行多个任务,减少硬件资源的使用。 8. 开漏复用功能定义:开漏复用功能是指GPIO引脚可以在开漏输出和其他功能之间切换。 设计:与推挽式复用类似,但输出部分使用开漏结构。 为什么这样设计:为了在需要多个信号源共同控制一条线时,还能实现引脚功能的复用。 作用:允许引脚在开漏输出和其他功能(如输入、模拟输入等)之间灵活切换。 |
很不錯的分享 |
如何设计硬件R-2R梯形网络电路,得以输出16bit的分辨率?
UFQFPN48
为什么注册不了ST账户,发送邮件后输入密码后就没反映?
STM32 HID和CDC组合设备无法枚举成功
使用STM32F103控制两步进电机同时进行不同的运动(软件指令驱动),与控制一个电机的不同之处在于哪里?
STC Auto Programmer如何下载程序到STM32F103R?
STM32F103高级定时器中,开启单脉冲模式(置位TIMx_CR1:RCR)是不是会立刻清除计数器使能位?
谁有TCS34725颜色传感器的可用的程序,谢谢。
怎么获取SMBus示例代码
stm32编码器模式3采1200ppr的编码器转一圈为啥是计数器是2400不是4800?