ARM之S5pv210的按键和中断部分

本文详细介绍了S5pv210处理器中按键和中断的初始化步骤,包括CPU中断初始化、按键相关器件中断初始化,涉及GPH0CON、EXT_INT_0_CON等寄存器的设置,以及中断处理程序的配置,如VICnADDR、VICnINTENCLEAR等寄存器的作用。
摘要由CSDN通过智能技术生成

一、按键和中断分

    要使用中断,首先要做好两个部分的工作:CPU中断的初始化和相应器件的中断的初始化。

    CPU中断初始化:就是要设置号CPU有关中断的东西。

    相关器件的中断初始化:例如按键,就要设置好按键,就触发中

    (1)、先看看按键的原理图

        

        从上图我们可以得知:按键是接在EINT2和EINT3处,还有KP_COL0-3,一共是6个按

    (2)、接下来看SoC接口处

            

            从上图EINT2和EINT3接在了GPH0_2,3处,KP_COL0-3接在了GPH2_0-3处。

        (3)、最后看看有关的寄存器(GPH0和GPH2,全部将其设置为外部中断模式(EXT_INT),也就是1111),

            KP_COL模式是用来做矩阵键盘的。

            

        设置好寄存器GPH0和GPH2之后,我们下面设置和外部中断相关的寄存器:

        EXT_INT_0_CON,EXT_INT_2_CON,EXT_INT_0_MASK,EXT_INT_2_MASK,EXT_INT_0_PEND,EXT_INT_2_PEND。

        总结:也就是说按键这边,一个按键需要设置好四个寄存器就行了。

        GPH0CON:选择外部中断模式

        EXT_INT_0_CON:选择怎样就触发中断(是高电平就触发中断,还是低电平,上升沿,下降沿,上升/下降触发中断)

        EXT_INT_0_MASK:向该寄存器写0来使能中断

        EXT_INT_0_PEND:我们初始化的时候可以通过写1来进行清除中断,中断处理完之后,我们也要向这个寄存器写1来

        清除中断。

    设置好上面这些寄存器,我们按键部分的中断初始化就设置好了       

// 以中断方式来处理按键的初始化
void key_init_interrupt(void)
{
    // 1. 外部中断对应的GPIO模式设置
    rGPH0CON |= 0xFF<<8;        // GPH0_2 GPH0_3设置为外部中断模式
    
    // 2. 中断触发模式设置
    rEXT_INT_0_CON &= ~(0xFF<<8);    // bit8~bit15全部清零
    rEXT_INT_0_C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值