Exynos4412裸机开发——中断处理

本文介绍了在Exynos4412平台上,从轮询方式到中断方式处理GPIO中断的过程。通过设置GPIO引脚、中断控制器以及ARM内核的中断处理,实现高效的中断响应。详细讲解了配置GPIO、GIC以及中断服务程序的步骤,阐述了中断处理的必要性和优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       以KEY2控制LED3亮灭为例:

一、轮询方式

【0】检测按键k2,按键k2按下一次,灯LED2闪一次。

【1】查看原理图,连接引脚和控制逻辑
(1)按键k2 连接在GPX1_1引脚
(2)控制逻辑
       k2 按下  ---- K2闭合 ---- GPX1_1 低电压
       k2 常态  ---- K2打开 ---- GPX1_1 高电压

【2】查看相应的芯片手册

    【2-1】循环检测GPX1_1引脚输入的电平,为低电压时,按键按下

        (1)配置GPX1_1引脚功能为输入,设置内部上拉下拉禁止。
                  GPX1.CON = GPX1.CON &(~(0xf<<4)) ;

                  GPX1.PUD = GPX1.PUD & ~(0x3 << 2);
  (2)循环检测:

while(1)
{
    if(!(GPX1.DAT & (0x1<<1)))  // 返回为真,按键按下
    {    
        msdelay(10);
        if(!(GPX1.DAT & (0x1<<1))) //二次检测,去抖
        {
            GPX2.DAT |= 0x1 << 7;  //Turn on LED2
            mydelay_ms(500);
            GPX2.DAT &= ~(0x1<<7);  //Turn off LED2
            mydelay_ms(500);
      
            while(!(GPX1.DAT & (0x1<<1)));
        }
    }
}

这种轮询方式始终占着CPU,不利于操作。

 

二、中断方式

         将K2按下时,GPX1_1引脚获得的电平,作为异常事件。使能异常处理,k2每按下一次,响应一次异常处理。SPI 传递流程如下示:

注:

      Exynos4412中断控制器包括160个中断控制源,这些中断源来自软中断(SGI),私有外部中断(PPI),公共外部中断(SPI)。

      Exynos4412采用GIC中断控制器,主要是因为Contex-A9 是多核处理器,GIC

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值