虽然我们定义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 下-LMLPHP

GPIO输出应用

祖传点灯

from pyb import Pin

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

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

【外设零基础通用教程】GPIO 下-LMLPHP
好了,我们现在就可以直接做简单按键控制和LED灯控制了。~就这么简单。

文档使用

我们之前说过,由于封装不同,GPIO的写法也不同。所以买板子之前一定先看看文档。如micpython和maixpy对GPIO的写法如下(这俩都是python哈)
【外设零基础通用教程】GPIO 下-LMLPHP

理论补充

输出方式

GPIO的输出和内部MOS关的开关有关,如下图。可知输出有3种状态。
【外设零基础通用教程】GPIO 下-LMLPHP
分别是高电平,低电平,浮空/高阻态。

推挽输出

【外设零基础通用教程】GPIO 下-LMLPHP
有高低信号状态的叫推挽

开漏输出

【外设零基础通用教程】GPIO 下-LMLPHP
有低电和悬空/高阻态状态的叫开漏

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

04-13 22:56