日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

字符驱动之按键(一:无脑轮询法)

發布時間:2025/6/16 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符驱动之按键(一:无脑轮询法) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、添加頭文件二、構造fileoperation結構體static struct fileoperations second_drv_fops = {.owner = THIS_MODULE;.open = second_drv_open;.write = ;second_drv_write}三、填充file_operations中的成員函數 static int second_drv_open(struct inode *inode,struct file *file) {return 0; }ssize_t second_drv_read(struct file *file,char __user *buf,size_t size,loff_t *ppos) {return 0; }還有初始化函數static int second_drv_init(void) {major = register_chrdev(0,"second_drv",&second_drv_fops);return 0; }static int second_drv_exit(void) {unregister_chrdev(major,"second_drv");return 0; }module_init(second_drv_init); module_exit(second_drv_exit);要使用udev(mdev機制)根據信息來創造設備節點先創建一個class,再創建一個設備。 定義兩個結構體: static struct class *seconddrv_class; static struct class_device *seconddrv_class_dev;static int second_drv_init(void) { //創建一個類,在類下面創建一個設備。 //mdev是udev的簡化版本major = register_chrdev(0,"second_drv",&second_drv_fops);seconddrv_class = class_create(THIS_MODULE,"seconddrv");seconddrv_class_dev = class_device_create(seconddrv_class,NULL,MKDEV(major,0),NULL,"buttons");return 0; }static void second_drv_exit(void) {unregister_chrdev(major,"first_drv");class_device_unregister(seconddrv_class_dev);class_destroy(seconddrv_class); }

?

轉載于:https://www.cnblogs.com/stm32f4/p/8335104.html

總結

以上是生活随笔為你收集整理的字符驱动之按键(一:无脑轮询法)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。