【ARM-day06-KEY实验-中断】
KEY实验原理图:
按键 KEY0 是连接到 I.MX6U 的 UART1_CTS 这个 IO 上的,KEY0
接了一个 10K 的上拉电阻,因此 KEY0 没有按下的时候UART1_CTS 应该是高电平,当 KEY0按下以后 UART1_CTS 就是低电平。
寄存器UART1_CTS:
复用寄存器:IOMUXC_SW_MUX_CTL_PAD_UART1_CTS_B
电气特性寄存器:IOMUXC_SW_PAD_CTL_PAD_UART1_CTS_B
PUS、PUE、PKE设置为全1。
ODE(开漏):1使能开漏,0推挽
SPEED速度(采样率):中速01和10都可以,100MHZ
DSE(驱动能力):不动
SRE(压摆率):
最后是0xF0B0
中断触发方式:
GPIO1_ICR2寄存器:bit4 和5置1,代码是GPIO1_ICR2 |= (3 << 4)
中断源屏蔽寄存器解除:
GPIO1_IMR寄存器:bit18置1使能,代码是GPIO1_IMR |= (1 << 18)
中断状态寄存器:
GPIO1_ISR寄存器:哪个引脚产生的中断,需要将对应引脚置1。
if((GPIO1_ISR &= (1 << 18)) != 0)
{//中断处理GPIO1_ISR |= (1 << 18);
}
GIC初始化: GIC_Init();
GIC的中断使能: GIC_EnableIRQ(99);
中断优先级设置:
获取GIC基地址:
中断通知寄存器:
中断标志寄存器:
异常向量表基地址映射:
编写中断向量:
中断总服务函数: