GPIO引脚模式设置详解:开漏、推挽、拉高、拉低、中断输入、串行通信、模拟IO等,以及过零检测介绍

开漏输出(软件):将GPIO口设置为开漏输出模式,可以实现开漏输出控制方式,输出电平只能被拉低,而不能被拉高。在使用开漏输出时,需要外部接上一个上拉电阻,将输出电平拉高到高电平。开漏输出常用于驱动I2C总线、LED灯等场景中。

硬件设置为开漏输出的情况(硬件):输出端口被设计成一个开放式的二极管,可以将输出信号拉低,但不能将其拉高。当输出端口处于低电平时,二极管处于导通状态,输出端口与地之间形成一个低电平连接。当输出端口处于高电平时,二极管处于截止状态,输出端口则处于高阻状态。在开漏输出电路中,通常需要通过一个上拉电阻将输出端口连接到电源上,以便将其拉高。

推挽输出(软件):将GPIO口设置为推挽输出模式,可以实现推挽输出控制方式,输出电平可以被拉高或拉低。在使用推挽输出时,不需要外部电阻。推挽输出常用于驱动电机、继电器等场景中。

硬件设置为推挽输出的情况(硬件):输出端口可以将输出信号拉高和拉低。推挽输出通常由一个 NPN 晶体管和一个 PNP 晶体管组成,其中 NPN 晶体管可以将输出端口拉低,PNP 晶体管可以将输出端口拉高。在推挽输出电路中,通常不需要使用上拉电阻,因为当输出端口被拉高时,PNP 晶体管会将其连接到电源上,当输出端口被拉低时,NPN 晶体管会将其连接到地上。

拉高输入:将GPIO口设置为拉高输入模式,可以实现拉高输入控制方式。当输入信号断开时,引脚会被拉高到高电平。这种输入方式可以避免输入信号断开时出现漂浮电平的情况,从而提高输入信号的稳定性。

拉低输入:将GPIO口设置为拉低输入模式,可以实现拉低输入控制方式。当输入信号断开时,引脚会被拉低到低电平。这种输入方式同样可以避免输入信号断开时出现漂浮电平的情况,从而提高输入信号的稳定性。

中断输入模式:将GPIO口设置为中断输入模式,可以实现中断功能。当GPIO口的输入信号发生变化时,可以触发中断,并执行相应的中断处理函数。中断输入模式常用于实现按键中断、定时器中断等场景中。

串行通信模式:将GPIO口设置为串行通信模式,可以实现串行数据的输入和输出。在使用串行通信时,需要设置串行通信的协议,如SPI、I2C等。串行通信模式常用于与外部器件进行通信,如LCD显示屏、传感器等。

模拟输入输出模式:将GPIO口设置为模拟输入输出模式,可以实现模拟信号的输入和输出。在使用模拟输入输出时,需要使用模拟电路进行信号处理。模拟输入输出模式常用于音频信号的输入和输出。

容错输入模式:将GPIO口设置为容错输入模式,可以增加GPIO口的抗干扰能力。容错输入模式通常会在硬件电路上加上滤波电路和保护电路,从而增加GPIO口的稳定性和可靠性。

PWM输出模式:将GPIO口设置为PWM输出模式,可以实现PWM信号的输出。在使用PWM输出时,需要设置PWM的频率和占空比等参数。PWM输出模式常用于控制直流电机的速度、LED灯的亮度等场景中。

过零检测:一种常见的电子技术,用于检测交流电信号中的过零点。在交流电信号中,过零点是指信号从正半周到负半周(或相反方向)的转折点,此时电压或电流的值为零。 在这个时候去切换继电器比较安全。在实际使用50HZ的信号时可以使用GPIO口设置为输入中断检测,只要检测到有边沿信号时5ms(根据频率计算,最好实测一下)后可以动作继电器。

物联沃分享整理
物联沃-IOTWORD物联网 » GPIO引脚模式设置详解:开漏、推挽、拉高、拉低、中断输入、串行通信、模拟IO等,以及过零检测介绍

发表评论