#include <linux/module.h> #include <linux/fs.h> #include <linux/gpio.h> // 各种gpio的数据结构及函数 #include <linux/cdev.h> #include <linux/init.h> //__init __exit 宏定义声明 #include <linux/device.h> //class devise声明 #include <linux/uaccess.h> //copy_from_user 的头文件 #include <linux/types.h> //设备号 dev_t 类型声明 #include <linux/ioctl.h> MODULE_LICENSE("Dual BSD/GPL"); #define IOCTL_GPIO_OFF 0 /*灭*/ #define IOCTL_GPIO_ON 1 /*亮*/ #define DEVICE_NAME "beepctrl_caiyuxin" static struct class *ioctrl_class; #define BEEP_MAJOR 0 /*预设的主设备号*/ static int BEEP_major = BEEP_MAJOR;
时间: 2023-12-24 13:05:28 浏览: 154
MLX90614红外温度传感器_linux驱动源码.zip
5星 · 资源好评率100%
这是一个 Linux 内核模块的源代码,其中包含了对 GPIO 的操作,以及设备号和设备名称的定义。该模块可以控制蜂鸣器的开关,通过 ioctl 函数实现。其中,BEEP_MAJOR 变量定义了主设备号,如果该值为 0,则表示由系统自动分配主设备号。该模块还定义了一个名为 ioctrl_class 的类,用于注册设备节点。
阅读全文