视频地址:

[此内容发布后,会先给硬件群看,如果没问题才会录制视频,视频录制完成后在这里替换]

本教程适合:


视频/文章结构

  1. 外设名称
    通用外设引脚说明,是什么,能做什么
  2. 使用方法
    在开发板中如何识别,micropython编程,如何定义、使用
  3. 理论知识
    外设理论(大致了解一下原理),如果只想买回来一个板子随便玩玩,这部分可以不看
    【外设零基础通用教程】GPIO 上-LMLPHP

外设:GPIO

GPIO(英语:General-purposeinput/output)通用型输入输出的简称。


【外设零基础通用教程】GPIO 上-LMLPHP

在实际使用的时候,我们能看到的实际上只有一个个排针,带着字母+数字的标注。(厂家封装的时候可以定义这个名称)。在板子上我们叫引脚= =

比如定义STM32上的GPIO时,写成“A1,C1。定义 V831上的GPIO时候,写成 H1。


【外设零基础通用教程】GPIO 上-LMLPHP
GPIO引脚常用传感器
【外设零基础通用教程】GPIO 上-LMLPHP
一个常用输入,一个常用输出。这两个传感器是开发板上的老演员了,每个传感器测试都躲不开这两个。

需要注意的是所谓的输入和输出是对于开发板(芯片)来讲的。
【外设零基础通用教程】GPIO 上-LMLPHP

懂了这些,我们就可以进行操作了。

代码编写

实际情况是,如果使用GPIO的话,需要在开发板上去定义,这就涉及到代码。大部分开发板定义GPIO的方式都很简单,因为只有输入和输出模式

以STM32为例,了解在python(主要是micropython)中GPIO是如何定义的。定义方式差不多,我们以STM32专用库pyb来说。(写法不通用,只了解是如何定义即可。不会也不要紧,后面会选一款板子做教程。这篇文章仅做了解。)

开发板内部如何定义的我们不用管,因为都是封装好的,我们只要调用就行
【外设零基础通用教程】GPIO 上-LMLPHP

from pyb import Pin    # 调用GPIO

cs.init(Pin.OUT)         #设置为通用输出
cs.init(Pin.OUT_PP)      #设置为推挽方式输出
cs.init(Pin.OUT_OD)      #设置为开漏方式输出
cs.init(Pin.IN)          #设置输入

上面简单的定义下GPIO的输出和输入模式,接下来详细讲一下,我们常用的写法是怎样的。(只了解输入输出方式即可,所有板子都有这种GPIO模式,只不过写法可能有区别。)

GPIO输入方法

在输入中,我们一般设置为上拉电阻(。大部分情况下,我们这样定义都没有问题。),使用方法如下

from pyb import Pin    # 调用GPIO

cs.init(Pin.IN,pull=PULL_UP) #设置输入,并使用内部上拉电阻。

        # 完整写法↓ 
cs = Pin("B1",Pin.IN,pull=PULL_UP) 

把B1-I/O定为输入模式,开发板准备接数据.

GPIO输出方法

在输出中我们可以看到有一个推挽和开漏,我们日常仅使用推挽即可。

from pyb import Pin    # 调用GPIO

# 常用↓ Pin是引脚名
cs.init(Pin.OUT_PP)      #设置为推挽方式输出
# 完整写法↓
cs = Pin("B1",Pin.OUT_PP)
# 不常用↓
cs.init(Pin.OUT_OD)      #设置为开漏方式输出

【外设零基础通用教程】GPIO 上-LMLPHP

把A13-I/O定为输出模式,开发板准备点灯

本篇主要介绍了GPIO是什么以及在实践中如何定义。先休息一下在看下篇。地址:【外设零基础通用教程】GPIO 下

04-14 08:52