从零开始之驱动发开、linux驱动(十二、字符驱动之按键中断驱动)

编程入门 行业动态 更新时间:2024-10-10 14:27:39

从零开始之驱动发开、linux驱动(十二、字符驱动之<a href=https://www.elefans.com/category/jswz/34/1768597.html style=按键中断驱动)"/>

从零开始之驱动发开、linux驱动(十二、字符驱动之按键中断驱动)

前面几节我简要分析了linux中的异常的初始化以及调用流程。

详细分析了中断向量表的搬移,中断的初始化流程,中断注册,以及中断发生后的调用流程。

本节就使用一下中断。

 

下面先看一下源码。

#include <linux/fs.h>       /* 包含file_operation结构体 */
#include <linux/init.h>     /* 包含module_init module_exit */
#include <linux/module.h>   /* 包含LICENSE的宏 */
#include <asm/uaccess.h>
#include <linux/io.h>
#include <linux/device.h>
#include <linux/gpio.h>
#include <mach/gpio.h>
#include <asm/gpio.h>
#include <linux/gfp.h>
#include <linux/interrupt.h>static unsigned int major;
static struct class *third_class;
static struct device *third_dev;/* 自定义的中断处理函数 */
static irqreturn_t irq_handler(int irq, void *dev_id)
{printk(KERN_INFO"irq_handler %d\n", irq);return IRQ_HANDLED;
}/* 打开设备 */
static int third_drv_open(struct inode *inode, struct file *file)
{int ret = 0;/* 申请中断,我们的是外部中断,触发方式是上

更多推荐

从零开始之驱动发开、linux驱动(十二、字符驱动之按键中断驱动)

本文发布于:2024-02-27 18:47:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1766172.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:按键   从零开始   字符   十二   linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!