【外设零基础通用教程】GPIO 下

上篇连接:【外设零基础通用教程】GPIO 上,主要是在做视频的时候,发现上篇理论很多,分开的话结构清晰一些,更方便观看。

虽然我们定义GPIO的输入输出,那我们这种按键和LED都有两种状态,按下了和没按下,亮了和没亮,这怎么表示?


使用方法

GPIO 值

在电子电路中,分别用1和0记录电压高低状态!!!

#对于GPIO的输入,可以直接读取:

cs.value()  # 返回1或者0

#对于GPIO的输出,我们可以使用下面方法控制:

cs.high()    #设置高电平
cs(1)          # 1为高电平
cs.low()     #设置低电平
cs(0)          # 0为低电平

输入读取值

比如说,按钮按下后给了开发板一个值1,开发板收到这个状态的得时候就知道这个按键被按下了。
那么我按下的时候读取的值就为1。其实就是简单的记录状态。

输出设置值

这个理解就简单了,LED收到高电平信号1的时候就量,低电平0的时候就灭。所以呀我们就设置这个引脚的高低状态就行了~

注意:上面仅是GPIO这个外设引脚可以这样理解,像什么IIC,SPI这种,这么理解可能就~

GPIO输入输出应用

GPIO输入应用

祖传按键

from pyb import Pin
#将 USR 按键-"X17"配置为输入方式
p_in = Pin('X17', Pin.IN, Pin.PULL_UP)
p_in.value()  

在这里插入图片描述

GPIO输出应用

祖传点灯

from pyb import Pin

#将 LED(1)-"A13"配置成推挽输出模式
p_out=Pin('A13',Pin.OUT_PP)

#点亮 LED(1)红灯
p_out.high()  

在这里插入图片描述
好了,我们现在就可以直接做简单按键控制和LED灯控制了。~就这么简单。

文档使用

我们之前说过,由于封装不同,GPIO的写法也不同。所以买板子之前一定先看看文档。如micpython和maixpy对GPIO的写法如下(这俩都是python哈)
在这里插入图片描述

理论补充

输出方式

GPIO的输出和内部MOS关的开关有关,如下图。可知输出有3种状态。
在这里插入图片描述
分别是高电平,低电平,浮空/高阻态。

冒烟状态就是直接G了,厂家要出厂这种开发板,不得被打死。这里指代不会出现的情况,不做考虑

推挽输出

推挽输出,电子专业名词,一般出现在推挽放大器电路中,可以输出高,低电平,连接数字器件;推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。

在这里插入图片描述
有高低信号状态的叫推挽

VCC是电,开发板内部给传感器放电就是高电平
GND是地,是传感器给开发板内部放电就是低电平
“高电流向低电doge 上面把是付出把电推出去,下面是回首掏简称挽”
简单这么理解就行了。

开漏输出

开漏输出,开漏电路概念中提到的"漏"就是指MOS FET的漏极。同理,开集电路中的"集"就是指三极管的集电极。开漏电路就是指以MOS FET的漏极为输出的电路。

在这里插入图片描述
有低电和悬空/高阻态状态的叫开漏

上面的P-MOS不是没有了,而是这种状态下和P-MOS没啥关系,为了方便看,我给删了。
你瞅瞅,现在的情况是只有地(GND)只能传感器给他电,有低电平状态。

如果N-MOS关掉后相当于电阻无限大(谁也不给谁电,谁也动不了,相当于没有电流在动。)所以这个状态下,输出的是低电平和浮空/高阻态。

所以明白为什么我们日常使用GPIO输出是,定义的推挽模式了么~

猜你喜欢

转载自blog.csdn.net/weixin_45020839/article/details/130138244