如果使用GPIO,我们必须要使能GPIO的时钟。i.MX6 ULL的每个外设的时钟可以独立的使能,我们可以关闭不使用的外设时钟,可以达到节能的目的。如果使用某个外设,我们必须要打开对应的时钟。《I.MX6ULL参考手册》的第18章“Clock Controller Module (CCM)”是关于i.MX6ULL时钟的讲解,我们可以看下该章节里面外设时钟的使能寄存器。跟外设时钟使能相关的寄存器有:
CCM_CCGR0
CCM_CCGR1
CCM_CCGR2
CCM_CCGR3
CCM_CCGR4
CCM_CCGR5
CCM_CCGR6

一共7个。我们来看下CCM_CCGR0寄存器如何使能一个外设时钟,该寄存器的描述如图 1所示:

图 1

我们从上图可以看到CCM_CCGR0寄存器是32位的,每2位控制一个外设时钟,比如bit1:bit0控制aips_tz1的时钟,两位的操作方式如下:
00 //所有模式下都关闭外设时钟
01 //只有在运行模式下打开外设时钟
10 //保留
11 //除了停止模式以外,其他所有模式下时钟都打开

如果我们要打开aips_tz1的外设时钟,需要设置CCM_CCGR0的bit1和bit0都为1,也就是CCM_CCGR0=3,如果关闭aips_tz1的外设时钟,CCM_CCGR0的bit1和bit0都设置为0。

CCM_CCGR0-CCM_CCGR6这7个寄存器的功能都是类似的,也是每两位控制一种外设的时钟,为了便于开发,我们在后面的例程里把所有的外设时钟都使能了。至此关于GPIO的操作我们可以总结成下面的步骤:
1.使能GPIO对应的时钟
2.设置IOMUXC_SW_MUX_CTL_PAD_XX_XX寄存器,把对应的IO设置成GPIO功能
3.设置IOMUXC_SW_PAD_CTL_PAD_XX_XX寄存器,设置GPIO的上拉下拉,以及驱动能力
4.设置输入还是输出,是否使用中断,以及默认的输出电平

【北京迅为】i.MX6ULL终结者GPIO时钟相关推荐

  1. 北京迅为i.mx6ull终结者开发板使用手册+嵌入式Linux开发指南+裸机手册下载地址

    i.MX6ULL终结者三大手册,加速学习和开发速度,一秒化无形! <嵌入式Linux开发指南>+<开发板使用手册>+<裸机使用手册> 详细手册点击链接下载:http ...

  2. 迅为i.MX6ULL终结者开发板免费获取资料链接

    关注VX公众号:迅为电子 , 回复 :终结者,免费获取产品资料 i.MX6ULL终结者手册下载链接  https://pan.baidu.com/s/171NHz6_sVMGIQ3g7GcCqOQ   ...

  3. 迅为I.MX6ULL终结者开发板支持JTAG调试

    因为有很多小伙伴是从单片机转过来的,对JTAG非常熟悉.想用JTAG来调试裸机代码,而且一直用卡拷贝经常会出现虚拟机连接不上TF卡的情况. I.MX6ULL本身是支持JTAG的,但是由于关于这个资料真 ...

  4. 迅为i.MX6ULL终结者Linux中断实验运行测试

    文章目录 1 编译驱动程序 2 编译应用测试程序 3 运行测试 1 编译驱动程序 和前面章节中驱动测试程序一样需要一个Makefile文件,只是将obj-m的值改为key_irq.o,Makefile ...

  5. 迅为i.MX6ULL终结者Mfgtools修改单独只烧写Uboot,内核,文件系统

    1.打开mfgtools_for_6ULL文件夹,找到cfg.ini文件,如果您的板子是EMMC的修改如图 1: 如果您的板子是NAND的,修改如图 2: 2.打开"Profiles\Lin ...

  6. 迅为i.MX6ULL终结者进程基础-进程创建

    进程指正在运行的程序,资源分配的最小单位,可以通过"ps "或"top"等命令查看正在运行的进程,线程是系统的最小调度单位,一个进程可以拥有多个线程,同一进程里 ...

  7. 北京迅为IMX6ULL开发板 DHT11网络编程实战练习

    转自:[北京迅为i.mx6ull终结者开发板使用手册]第六十三章 QT 实战项目 硬件平台:IMX6ULL开发板   63.1 DHT11&网络编程实战练习 本项目为阶段性练习,内容简洁实用, ...

  8. 【北京迅为】嵌入式Linux+QT开发零基础入门+项目实战教程分享

    B站搜'北京迅为', 入门视频教程免费学习,持续更新. https://space.bilibili.com/33785640 0基础学习+知识点 +实战项目演练 视频精简,思路清晰,不做无用功,让所 ...

  9. i.MX6ULL终结者外设模块功能验证

    文章目录 1. RC522模块测试 2. 步进电机模块测试 3. GPS模块测试 4. zigbee模块测试 5. 继电器模块测试 1. RC522模块测试 MF RC522 是应用于13.56MHz ...

最新文章

  1. Ubuntu14.04LTS下Firefox浏览器安装flashplugin
  2. DCMTK:表示增强型CT对象的类
  3. linux 查看内核属性,怎么查看linux操作系统
  4. ConEmu状态栏的设置介绍
  5. jps: command not found
  6. 枚举集合的EnumSet
  7. 3DMAX安装包及近百GB素材资源,以及3D游戏建模教程
  8. UITableView 自带编辑删除 自己定义button
  9. ftp服务器web里有个文件,web实现ftp服务器文件
  10. Imagick 处理gif psd格式
  11. Docker-registry + GlusterFS
  12. 微信公众号获得城市及街道位置信息
  13. Mixly-呼吸灯及可调灯
  14. 关于Cfree5.0编译的常见问题和使用教程
  15. 云计算、分布式计算和网格计算,主要有什么区别,基本概念是什么?
  16. arm mali 天梯图_11月最新版联发科CPU天梯图 直观看天梯图秒懂联发科处理器排行...
  17. docker load镜像报错:open /var/lib/docker/tmp/docker-import-525555606/repositories: no such file or direc
  18. 获取电信光猫TEWA-600超级管理密码,修改电信光猫为桥接模式
  19. yum配置文件 重启后还原_电脑里重启后,重启前所有设置都还原到以前了,怎么办啊...
  20. 图像控制点 形变_基于控制点的图像变形方法的研究与实现

热门文章

  1. pstack学习笔记
  2. 运筹优化(十)--整数规划求解
  3. 码农翻身之大话编程篇:8 TCP/IP之蓟辽督师
  4. JDBC——MySQL
  5. n与9n--char3
  6. python安装/pycharm破解与安装
  7. 【控制理论】滑模控制最强解析
  8. 超鸿蒙是什么意思,帝垣的组词_拼音_意思_近反义词(造句)
  9. 利用栈进行数制转换和括号匹配(C语言)
  10. 5g理论速度_5G是什么?5G速度有多快?