按键中断

这篇博客介绍了按键中断的工作原理,包括中断发生后的流程、中断函数的任务,以及如何在Linux内核中进行中断注册和释放。文章详细讲解了request_irq函数的参数含义,并提供了在4412平台上将外部中断号映射到实际按键的例子。通过在平台文件注册设备并编写中断处理函数,读者可以学习如何在实践中处理按键中断。
摘要由CSDN通过智能技术生成

1,  理论知识

按键按下(产生了中断)→跳转到异常向量入口,执行中断函数

中断函数要做什么:

1.保护现场

2.执行中断处理函数

3.恢复现场

我们需要做什么?

学会使用中断注册函数,了解注册中断相关的函数和结构体

 

中断注册函数:request_irq的5个参数

request_irq(unsignedint irq, irq_handler_t handler, unsigned long flags,

    constchar *name, void *dev)

参数1:irq,中断号。(和平台架构相关,结合datasheet以及平台文件)

参数2:中断处理函数

参数3:中断标记。上升/下降沿,高/低电平……

参数4:中断名字。cat /proc/interrupts

参数5:使用设备的设备结构体或者NULL。free_irq

free_irq(irq,*dev_id)

request_irq的调用

 

 

4412上外部中断号如何对应:(IRQ_EINT(x)和datasheet对应)

HOME和BACK

EXYNOS4_GPX1[1]和EXYNOS4_GPX1[2]

→KP_COL[1]和KP_COL[2]

→XEINT_9和XEINT_10

IRQ_EINT(9)和IRQ_EINT(10)

 

准备工作:

在平台文件中注册设备:keyirq

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值