目录
如果只想看每个
IO 能复用什么外设的话可以 直接查阅《
IMX6ULL
参考手册》的第
4
章“
Chapter 4 External Signals and Pin Multiplexing”。如 果我们要编写代码,设置某个
IO
的复用功能的话就需要查阅第
32
章“Chapter 32: IOMUX Controller(IOMUXC)
”
,
第
32
章详细的列出了所有
IO
对应的复用配置寄存器。
MUX和PAD的区别
32位寄存器 MUX控制复用功能 PAD设置电气属性
GPIO配置
GPIO总共5组 ,GPIO0-GPIO4,每组8个寄存器DR、GDIR、PSR、ICR1、ICR2、DGE_SEL、IMR 和 ISR
GPIOx_DR
在参考手册28.5.1小节
此寄存器是
32
位的,一个
GPIO
组最大只有
32
个
IO
,因此
DR 寄存器中的每个位都对应 一个
GPIO
。
当
GPIO
被配置为输出功能以后,向指定的位写入数据那么相应的 IO 就会输出相 应的高低电平,比如要设置 GPIO1_IO00 输出高电平,那么就应该设置 GPIO1.DR=1。
当 GPIO被配置为输入模式以后,此寄存器就保存着对应
IO
的电平值,每个位对对应一个
GPIO,例如, 当
GPIO1_IO00
这个引脚接地的话,那么
GPIO1.DR
的
bit0
就是
0
。
GPIOx_GDIR
0为输入 1为输出
GPIOx_PSR
状态寄存器 可读取相应位的GPIO的高低电平情况
GPIOx_ICR1、GPIOx_ICR2
GPIOx_ICR1控制低16为IO0-15,GPIOx_ICR2控制高16 为 IO16-31
配置中断触发方式
GPIOx_ISR
中断标志位GPIO interrupt status register,32位
GPIOx_EDGE_SEL
边缘触发选择
I.MX6U GPIO 时钟使能
参考手册第18章
CMM 有 CCM_CCGR0~CCM_CCGR6 这 7 个寄存器,这 7 个寄存器控制着 I.MX6U 的所有外设时钟开关