智能硬件(6)之通用引脚(GPIO)

        小编带领大家学习的四大开源硬件和智能模块,他们之间是如何通信的,主控芯片是如何控制智能模块,做某些事情呢?有没有小朋友发起疑问呢?

        这里,涉及到了特别重要的知识点,就是通用引脚,英文缩写是GPIO。所以的开源硬件(主控芯片)都有自己的特定引脚,这些引脚是主控芯片暴漏出来,唯一和外界通信的桥梁。

一、通用管脚概念

        今天就来学习下,通用引脚的概念和用作。引脚:是单片机这种主控芯片特有的名字,可以理解它和我们人类的手脚相似,不管做什么事情,都是需要依靠它,下图针脚形状的都是引脚。

              

        单片机的引脚会有很多,人类只有一副手脚,那是因为我们的手脚可以做很多复杂的动作,攥拳、握手、活动手指等。因为单片机的引脚功能相对人类能做的能做到的动作很有限,所以需要更多的引脚来完成复杂和大工作量的任务。

二、管脚功能和模式

        通用引脚主要分为数字、模拟两种功能,又分为输出和输入两种模式:

        ①状态1一般等于系统电压,指的是当前的主控芯片采用的电压,esp32系列是3.3V的供电电压,所以系统电压就是3.3V。

        ②状态0一般等于GND,也就是接地,电压为0V。

        ③模拟电压是一个范围的值,输出的电压范围一般是 0 到 系统电压,输入同理。

        这里面可能很多小朋友,对数字和模拟理解可能比较晦涩,这是需要大篇幅来讲解,会在后续的分享中,给大家一一讲解,今天主要掌握数字引脚的输出电压状态就可以啦。

        上述的uart、i2c、spi、adc和pwm等功能都是通过管脚的输出和输入模式来实现的。

三、TTL逻辑电平

        这里给大家补充一个概念,ttl电平,上述说状态1一般是系统电压,状态0一般是GND,其实这是不准确,这个是根据控制芯片的供电电压决定的。

        比如:VCC(系统电压)5.0V,输入的状态1(Vih)电压指的是  大于2.0V就都可以认为是状态1;同理输入状态0(Vil)电压指的是小于0.8V就都是状态0;输出状态1(Voh)电压指的是 大于2.4V就可以;同理输出状态0(Vol)电压指的是 小于0.4V就可以。

        单片机的输出电压状态1和0,是直接被拉满的,以3.3V供电电压esp32为例,状态1输出的就是3.3V,状态0输出的就是0V。

四、通用引脚如何实现 串口(uart)、i2c、spi等外设

        通过上述的学习,我们了解到,引脚只能输出、输入状态0、1,那么他们是如果实现复杂的外协资源呢。

        其实,在计算机领域,都是采用二进制编码实现任意的消息的,比如ascii编码。

        我们的引脚只能有0、1两种状态,是不是正好映射我们的二进制 0、1呢,那我们想要实现特定的信息,是不是只需要让我们的引脚连续输出0、1数据,然后组合起来是不是就可以表示特定的字符,多个字符就是可以表示特定的意义呢。

        没有错,我们的丰富的外设资源,uart、i2c、spi等,就是通过多个字符,组合来完成特定的意义,按照特定的协议标准,就形成了特定的的外设资源的总线协议了。

        uart、i2c、spi这些资源在后续的分享中会讲解,大家这里只需要知道,我们的引脚是如果实现复杂消息通信的就可以了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/291642.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

依托亚马逊云科技构建韧性应用

背景 现代业务系统受到越来越多的韧性相关的挑战,特别是客户要求他们的业务系统 724 不间断的运行。因此,韧性对于云的基础设施和应用系统有着至关重要的作用。 亚马逊云科技把韧性视为一项最基本的工作,为了让我们的业务系统能持续优雅地提供…

行为型设计模式(三)状态模式 备忘录模式

状态模式 State 1、什么是状态模式 状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类,将对象的行为包装在不同的状态类中,对象在运行时根据内部状态的改变而改变它的行为。 2、为什么使用状态模式 封装了…

【CentOS 7.9 分区】挂载硬盘为LVM操作实例

LVM与标准分区有何区别,如何选择 目录 1 小系统使用LVM的益处:2 大系统使用LVM的益处:3 优点:CentOS 7.9 挂载硬盘为LVM操作实例查看硬盘情况格式化硬盘创建PV创建VG创建LV创建文件系统并挂载自动挂载添加:注意用空格间…

树莓派,opencv,Picamera2利用舵机云台追踪特定颜色对象(PID控制)

一、需要准备的硬件 Raspiberry 4b两个SG90 180度舵机(注意舵机的角度,最好是180度且带限位的,切勿选360度舵机)二自由度舵机云台(如下图)Raspiberry CSI 摄像头 组装后的效果: 二、项目目标…

【C#】TimeSpan

文章目录 概述属性时间计算拓展来源 概述 TimeSpan结构:表示一个时间间隔。 它含有以下四个构造函数: TimeSpan(Int64)将 TimeSpan结构的新实例初始化为指定的刻度数。(DateTime.Tick:是计算机的一个计时周期,单位是一百纳秒&…

flink使用sql-client-defaults.yml无效

希望在flink sql脚本启动时自动选择catalog,减少麻烦。于是乎配置sql-client-defaults.yaml: catalogs:- name: hive_catalogtype: icebergcatalog-type: hiveproperty-version: 1cache-enabled: trueuri: thrift://localhost:9083client: 5warehouse: …

02|用LangChain快速构建基于“易速鲜花”本地知识库的智能问答系统

02|用LangChain快速构建基于“易速鲜花”本地知识库的智能问答系统 项目及实现框架 我们先来整体了解一下这个项目。 项目名称:“易速鲜花”内部员工知识库问答系统。 项目介绍:“易速鲜花”作为一个大型在线鲜花销售平台,有自…

机器学习 | 概率图模型

见微知著,睹始知终。 见到细微的苗头就能预知事物的发展方向,能透过微小的现象看到事物的本质,推断结论或者结果。 概率模型为机器学习打开了一扇新的大门,将学习的任务转变为计算变量的概率分布。 实际情况中,各个变量…

HBase基础知识(一):HBase简介、HBase数据模型与基本架构

第1章HBase简介 1.1HBase定义 HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。 1.2HBase数据模型 逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。但从HBase的底层物理存储结构(K-V&a…

如何直接使用别人的Python项目的虚拟环境

Cannot set up a python SDK at Python 3.10 (flaskTest) (2) (H:\WorkPlace\PyWorkPlace\flaskTest\flaskTest\venv\Scripts\python.exe). The SDK seems invalid 如何复制别人的虚拟环境 修改步骤 1. 修改pyvenv.cfg文件里的home和version 2. Scripts\activate以及Scripts\a…

ChatGPT一周年:开源语言大模型的冲击

自2022年末发布后,ChatGPT给人工智能的研究和商业领域带来了巨大变革。通过有监督微调和人类反馈的强化学习,模型可以回答人类问题,并在广泛的任务范围内遵循指令。在获得这一成功之后,人们对LLM的兴趣不断增加,新的LL…