设备驱动程序.pptVIP

  • 6
  • 0
  • 约1.98万字
  • 约 63页
  • 2022-03-28 发布于重庆
  • 举报
模式|是否上拉|IO脚,位置没有关系。已经经过移位错开了。 请求注册中断 static int request_irqs(void) { for (i = 0; i 使用中断个数; i++) { 设置与外部中断号相对应的GPIO端口以及模式 请求中断号,并注册中断响应函数。 } } 第五十九页,共六十三页。 键盘驱动的卸载函数 static void __exit matrix4_buttons_exit(void) { 释放中断 free_irqs(…); 注销字符设备unregister_chrdev(…); } 第六十页,共六十三页。 按键中断处理 buttons_irq static void buttons_irq(int irq, void *dev_id, struct pt_regs *reg) { 设置GPIO为输入状态 键盘扫描 唤醒按键等待队列的进程 重新设置GPIO为输出 重新设置中断 } 第六十一页,共六十三页。 matrix4_buttons_fops 由于按键不具有I/O功能,它只会在按下的时候产生中断,所以这里不需要实现open,read,write,ioctl等功能。 为了测试驱动,可以添加这些函数。 第六十二页,共六十三页。 内容总结 Linux设备驱动。从这种观点出发,从概念上可以把一个系统划分为应用、文件系统和设

文档评论(0)

1亿VIP精品文档

相关文档