引言
初学IMAX6ULL,从GPIO开始记录学习过程。由于32很少操作寄存器, 对于寄存器的配置很模糊。所以IMAX6ULL从寄存器开始。本文为学习原子IMAX6ULL中的笔记,其中引用部分原子资料。
IO 控制寄存器
在后期使用官方的SDK时会配置一个函数为void IOMUXC_SetPinConfig()的函数,这个函数类似STM32的GPIO_Init(),对GPIO进行初始化配置,其中配置了IO口的控制寄存器。寄存器内部具体类容见下图,具体位置从IMAX6ULL的1509页开始
具体位的具体意义如下:
0位:压摆率,指IO口跳变 时间,压摆率越高跳变时间越短。
3-5位:设置IO的 输出能力
6-7位设置IO口的速度类似STM32_Speed 最高200M
11位:控制开路输出
12位:用来使能或者禁止上下拉/状态保持器功能,为0 时禁止上下拉/状态保持器,为 1 时使能上下拉和状态保持器
13位:当 IO 作为输入的时候,这个位用来设置 IO 使用上下拉还是状态保持器。当为 0 的时候使用状态保持器,当为 1 的时候使用上下拉。状态保持器在IO 作为输入的时候才有用,顾名思义,就是当外部电路断电以后此 IO 口可以保持住以前的状态。
14-15位配置上拉下拉电阻;
16位:用来使能迟滞比较器,当 IO 作为输入功能的时候有效,用于设置输入接收器的施密特触发器是否使能。如果需要对输入波形进行整形的话可以使能此位。此位为 0 的时候禁止迟滞比较器,为 1 的时候使能迟滞比较器。
注:本文为学习原子IMAX6ULL笔记,部分图片为原子开源图书所有,特此声明。