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

视频地址:

咸鱼的外设通用教程之GPIO

本教程适合:

  1. 硬件零基础纯小白
    上手了硬件不知从何开始?头脑发热买回来不知道怎么用?
    只要会看文档,就能学会!
  2. diy爱好者
    想做功能,传感器选型困难?
    了解外设,方便选择!
  3. 喜欢分享经验的大神
    有很多想分享的知识,不知从何讲起?
    可以在我的博客和视频下方分享知识!

视频/文章结构

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

资源
免费:包含CSDN上本专栏,B站讲解视频
只求多多评论,和点个赞。B站点个关注~不行发点弹幕催更也行呀QAQ

外设:GPIO

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

接脚可以供使用者自由使用。是芯片外围设备交互的硬件接口

下面是一个GPIO的基本结构图,作为纯玩家,不需要理解每个部分,只选择我们需要的内容知晓就可以。我们主要还是应用。
在这里插入图片描述
GPIO基本结构图↑

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

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

接的时候我们会说吧传感器接到A1引脚上。
在这里插入图片描述
GPIO引脚常用传感器
在这里插入图片描述
一个常用输入,一个常用输出。这两个传感器是开发板上的老演员了,每个传感器测试都躲不开这两个。

需要注意的是所谓的输入和输出是对于开发板(芯片)来讲的。
在这里插入图片描述

解释一下就是我们接入按键是为了给开发板信号,所以连接按键的时候,要把GPIO设置成输入
同理,板子发信号给LED(其实发的是高低电平,LED高电平亮起)让LED亮起来,输出一个结果(这个结果可以是文字,图片,声音变化,视觉变化等。)所以要把GPIO设置为输出

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

代码编写

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

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

开发板内部如何定义的我们不用管,因为都是封装好的,我们只要调用就行
在这里插入图片描述

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输入方法

在输入中,我们一般设置为上拉电阻(上拉电阻能保持数据传输的稳定,——简单理解。大部分情况下,我们这样定义都没有问题。),使用方法如下

STM32专用

from pyb import Pin    # 调用GPIO

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

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

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

STM32专用

GPIO输出方法

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

from pyb import Pin    # 调用GPIO

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

在这里插入图片描述

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

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

猜你喜欢

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