随笔分类 -  Linux / Linux 驱动开发

摘要:使用 input 子系统,不需要分配设备号、注册设备、创建类等等工作。 也就是不需要以下的代码。 //1. 由系统分配设备号 if(Key_Struct.major != 0) { Key_Struct.devid= MKDEV(Key_Struct.major, 0); register_chrd 阅读全文
posted @ 2023-07-17 18:04 FBshark 阅读(32) 评论(0) 推荐(0) 编辑
摘要:1822 struct file_operations { 1823 struct module *owner; 1824 loff_t (*llseek) (struct file *, loff_t, int); 1825 ssize_t (*read) (struct file *, char 阅读全文
posted @ 2023-07-04 12:53 FBshark 阅读(49) 评论(0) 推荐(0) 编辑
摘要:说实话,这一节的代码逻辑不清,对于初学者来说有点混乱,原因主要有: 1. 初始化设备结构体为结构体数组,只用到一个设备却用到了结构体数组,致使多处用循环,代码混乱。 2. 设备(按键)IO初始化与中断初始化混杂在一个函数中,导致逻辑不清晰。 针对以上的混乱现象,我一方面只定义一个设备结构体,一方面将 阅读全文
posted @ 2023-07-03 10:53 FBshark 阅读(24) 评论(0) 推荐(0) 编辑
摘要:疑问1: 宏定义中的 _IO 和 0xEF 有什么用? 1 #define CLOSE_CMD (_IO(0XEF, 0x1)) /* 关闭定时器 */ 2 #define OPEN_CMD (_IO(0XEF, 0x2)) /* 打开定时器 */ 3 #define SETPERIOD_CMD ( 阅读全文
posted @ 2023-06-27 10:19 FBshark 阅读(190) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示