I.MX6ULL裸机开发笔记6:GPIO控制原理

news2024/11/18 8:20:27

目录

一、了解GPIO

二、时钟

三、引脚复用 

四、引脚属性

五、控制GPIO总结

六、硬件原理图

一、了解GPIO

数量

5组GPIO(GPIO1~GPIO5),每组最多32个,共124个

  • GPIO1_IO0——GPIO1_IO31
  • GPIO2_IO0——GPIO2_IO21
  • GPIO3_IO0——GPIO3_IO28
  • GPIO4_IO0——GPIO4_IO28
  • GPIO5_IO0——GPIO5_IO11

数据手册描述

26.2 External Signals

二、时钟

clock_controller module(CCM模块)用于配置芯片的各种外设时钟。跟GPIO相关的时钟主要有CCM_CCGR(0~3)寄存器。

数据手册描述

18.4 System Clocks

 18.6.24 CCM Clock Gating Resgister 1(CCM_CCGR1)

         上图中,第一个address表示的该时钟外设在内存中的位置;外设与内核不同,其中的寄存器位数设置需要从手册中具体去查看;

  • 00:所有模式下都关闭外设时钟
  • 01:只有在运行模式下打开外设时钟
  • 10:保留
  • 11:除了停止模式以外,该外设时钟全程使能

 数据手册描述

18.6.23 CCM Clock Gating Register 0(CCM_CCGR0)

三、引脚复用 

相关寄存器:IOMUXC_SW_MUX_CTL_PAD_XXX

数据手册:

 注意:数据手册上对GPIO引脚的命令,不是严格按照顺序命名的,而是根据Table 28来命名的

32.6.157 SW_MUX_CTL_PAD_GPIO1_IO4 SW MUX Control

Register(IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO04)

 可与看出,设置成0101:ALT5->普通GPIO模式

四、引脚属性

相关寄存器:IOMUXC_SW_PAD_CTL_PAD_XXX

数据手册:

 

 注意:数据手册上对GPIO引脚的命令,不是严格按照顺序命名的,而是根据Table 28来命名

32.5.186 SW_PAD_CTL_PAD_GPIO1_IO04 SW PAD Control Register(IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO04)

 

-HYS(bit16):

-PUS(bit15-bit14):用来设置上下拉电阻的大小

-PUE(bit13):当IO作为输入的时候,这个位用来设置IO使用上下拉还是状态保持器

-PKE(bit12):用来使能或者禁止上下拉/状态保持器功能

-ODE(bit11):IO作为输出的时候,此位用来禁止或者使能开漏输出

-SPEED(bit7-bit6):当IO用作输出的时候,此位用来设置IO速度

-DSE(bit5-bit3):当IO用作输出的时候用来设置IO的驱动能力

-SRE(bit0):设置压摆率

控制GPIO引脚

5组GPIO,每组GPIO有8个相关寄存器

  • GPIOx_GDIR:设置引脚方向
  • GPIO_DR:设置输出引脚的电平
  • ...

每个寄存器有32位,分别控制每位的gpio

26.5.2 GPIO direction register(GPIOx_GDIR)

 -0:输入

 -1:输出

26.5.1 GPIO data register (GPIO x _DR)

 

五、控制GPIO总结

  • 使能GPIO时钟
  • 设置引脚复用GPIO
  • 设置引脚属性(上下拉、速率、驱动能力)
  • 控制GPIO引脚输出高低电平

六、硬件原理图

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

#C. wll 的糖果分配

说明过年啦!wll 带着好多好多的糖果回到家里,打算分给弟弟妹妹们她一共带回了 66 种不同的糖果,第 ii 种糖果的美味度为 ii,共有 a_iai 颗但是弟弟们和妹妹们不想在一起玩,他们想分别拿走糖果,各自玩耍那么…

物联网到底是什么,生活中能用得上吗?

物联网在近些年以来一直都是热点,人人都在提物联网。但物联网到底是什么?究竟能做什么?说起物联网,你是不是感到既熟悉又陌生?没错,从随处可见的射频技术,智能穿戴,智能电器&#xf…

Android 系统 Framework 中定制实现开关机动画实践

文章目录写在前面需求背景主要问题接口测试权限问题对比测试最后实现方案其他问题总结写在前面 本文主要记录了在Android 10 系统 定制开关机动画时遇到的权限(读写)问题以用开关机动画资源的流程、文件要求等问题。 涉及知识点: Linux中文件…

【iOS】—— 工厂设计模式

工厂设计模式 文章目录工厂设计模式设计模式概念设计模式七大准则开闭原则单⼀职责原则里氏替换原则依赖倒转原则接口隔离原则迪米特法则合成复用原则类族模式简单工厂模式优点缺点主要作用示例文件分类实现效果:工厂方法模式优点缺点主要作用:示例&…

Ceres 目标函数(pose_graph_3d使用之)构建学习笔记

问题说明 ceres-solver库是google的非线性优化库,可以对slam问题,机器人位姿进行优化,使其建图的效果得到改善。pose_graph_3d是官方给出的二维平面上机器人位姿优化问题,需要读取一个g2o文件,运行程序后返回一个pose…

Android 课设之个人音乐播放器

第一章 绪论1.1选题背景由于时代快速发展,各种各样的音乐播放器层出不穷,此时需要一个可以根据个人爱好来播放的音乐播放器就尤为重要,因此我特意制作了一个根据自己喜好的音乐播放器,只需要把音乐文件放进制定的目录下即可。1.2开…

C++语法小笔记:内联函数,auto关键字,nullptr

目录 一.内联函数 1.回顾c语言中的“宏函数” 2.内联函数 3.内联函数的特性 二.C auto 关键字 1.auto的基本概念 2.auto使用的注意事项 3.auto不能使用的地方 三. C11中的 nullptr 一.内联函数 1.回顾c语言中的“宏函数” 先给出一段简单的代码: int Add(in…

plt设置柱状图标注

1、plt.text方法 在matplotlib 3.4.0之前的版本中,一般使用plt.text方法绘制数据标签。顾名思义,plt.text可以在图像的任何地方绘制指定的文本。基于此,我们只需要在相应数据点的坐标位置绘制相应的值,即可显示数据标签。 2、plt.…

react初始高阶组件

首先 我们要了解什么是高阶组件 第一 高阶组件必须是一个函数 第二 高阶组件接收一个参数,这个参数也必须是一个组件 第三 他的返回值 也是一个组件 至于高阶组件的作用 我们后续会讲解 本文只是带大家认识一下高阶组件 并手把手带大家创建一个 下面我们来创建一个…

微服务调用组件Feign学习笔记

目录 JAVA 项目中如何实现接口调用? 1. 什么是Feign 2. Spring Cloud Alibaba快速整合OpenFeign 3. Spring Cloud Feign的自定义配置及使用 4.自定义拦截器 5.超时时间配置 JAVA 项目中如何实现接口调用? 1)Httpclient HttpClient 是 …

数据结构(模式匹配及相关算法)

目录 模式匹配 BF算法 算法实现 算法分析 KMP算法 问题的引入(一) 问题的引入(二) 问题的引入(三) 相关概念 计算失配函数的算法 算法思路 算法优点 模式匹配 函数int find(const sstring &am…

机器学习(三):人工智能主要分支

文章目录 人工智能主要分支 一、计算机视觉 二、语音识别 三、文本挖掘/分类 四、机器翻译 五、机器人 人工智能主要分支 通讯、感知与行动是现代人工智能的三个关键能力,在这里我们将根据这些能力/应用对这三个技术领域进行介绍: 计算机视觉(CV…

WiFi monitor模式的配置和运行检查(Ubuntu系统)

WiFi monitor模式的配置和运行检查1. WiFi monitor模式介绍2. WiFi monitor模式查看Step1:确保计算机上有安装硬件WiFi无线网卡Step2:安装必要的工具Step 3:iw list查看无线网卡是否支持monitor模式Step 4:配置WiFi monitor模式St…

有了独自开,我们离自己开发一套系统还会远吗

目录 一、结识独自开 二、独自开的介绍 三、独自开的需求 四、独自开注册流程 五、神仙公司独自开 一、结识独自开 算是机缘巧合,我被C站白佬拉入了他的聊天群,群内均是来自于CSDN的不同领域的优质作者,其中不乏相关领域工作多年的老工程…

“任性”华为 | 七十八岁老人的“四渡赤水”(二)

导读华为是一家“任性”的企业——因为任正非将自己的性格赋予了华为——在企业前进的每一个路口,都会看见这种性格的印记。2022年12月,当美国总统拜登出现在凤凰城出席台积电工厂迁机仪式上,苹果公司首席执行官库克等约900名政商界人士前往捧…

c#检测网络连接信息

用手机全屏看B站视频时可以看到右上角标识有WIFI,比较好奇如何检测当前网络连接是wifi还是数据网络什么的。于是百度相关信息,找到参考文献1-2,其中介绍采用Xamarin.Essentials检测网络连接性,其中的Connectivity类可用于监视设备…

【MATLAB】三维旋转的实现

1 三维旋转的表达方式 三维空间中常用的表示旋转的方式有: **[1]旋转矩阵(rotation matrix) [2]旋转向量(rotation vector)/角轴(轴角)(axis angle) [3]欧拉角(euler angles) [4]四元数(quaternion)**主动旋转和被动旋转&#x…

现场工程师出手-PCAPHub与云IP实现异地LAN工业联测

在去年,因为众所周知的因素影响,项目的甲方主动提出延缓设备的交付。作为乙方,尽管项目延缓是甲方提出的,但依旧希望按期交付,这样才能回款,熬过一年。其实,2022年初,几类传感器、压…

Visual Studio 17.5 拼写检查器预览版现已推出,来说说你的看法吧

写在前面: Visual Studio17.5版本已添加拼写检查器功能,Visual Studio 中的许多功能旨在帮助你编写所需的代码。Visual Studio帮助你确保代码的编译,甚至可以帮助代码样式。现在它甚至可以确保您的拼写准确。Visual Studio 17.5 preview 3 引…

Linux常用命令——talk命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) talk 让用户和其他用户聊天 补充说明 talk命令是talk服务器的客户端工具,通过talk命令可以让用户和其他用户聊天。linux中talk命令参数程序的使用很简单,只要知道交谈对象的地址&#x…