led點燈驅動

2021-06-22 15:47:48 字數 1459 閱讀 3162

核心版本:linux-2.6.32.2

開發板:mini2440

#include #include #include #include #include #include #include #include #include #include #include #include #define device_name "led_2"

static struct class *leds_class;

//static struct device *leds_class_devs;

volatile unsigned long *gpbcon;

volatile unsigned long *gpbdat;

static int mini2440_leds_open(struct inode *inode, struct file *file)

static ssize_t mini2440_leds_write(struct file *file, const char __user *buf, size_t count, loff_t * ppos)

else

return 0;

}static struct file_operations mini2440_leds_fops = ;

/* * 執行insmod命令時就會呼叫這個函式

*/int ret;

static int mini2440_leds_init(void)

/* * 執行rmmod命令時就會呼叫這個函式

*/static void mini2440_leds_exit(void)

/* 這兩行指定驅動程式的初始化函式和解除安裝函式 */
module_init(mini2440_leds_init);
module_exit(mini2440_leds_exit);
/* 描述驅動程式的一些資訊,不是必須的 */module_license("gpl");

注意 

leds_class = class_create(this_module,"leds");

device_create(leds_class, null, mkdev(ret, 0), null, "led2"); /* /dev/led1 */

device_destroy(leds_class,mkdev(ret, 0));

class_destroy(leds_class);

這4個函式,之前因為對這個不是很了解,在insmod和rmmod時一直出現錯誤,有不能解除安裝的錯誤出現。

6410之點燈驅動

寫乙個點led的驅動分為下面幾個步驟 1.框架 2.完善硬體的操作 a.看原理圖 b.看6410手冊 c.寫 檢視6410原理圖led sch如下 所以要操作的工作有 1.設定gpm0 gpm3為輸出引腳 2.點燈或者滅燈,對gpmdat 進行操作即可。3.使用ioremap和iounmap對實體地...

LED驅動程式設計

通用輸入輸出介面的簡稱,s2440一共有130個gpio口,分為a j共9組 gpa,gpb,gpc gpj 通過設定相應的暫存器,可以選擇某個gpio口是用於輸入,輸出還是特定其他特殊功能。例如可以設定gph6口用於輸入輸出,或者是串列埠 每組gpio gpa gpj 都可以通過3個暫存器來控制與...

linux驅動之 led驅動

練手,第乙個字元驅動.用模組載入方法 華清遠見 嵌入式linux裝置驅動開發詳解 的 拿來改的.編譯過程發現很多錯誤.最後發現 這本書帶的驅動 都是基於linux2.4的.目前我用的linux2.6,部分需要做修改.我的板子是 友善之臂的 2410.vmware ubuntu nfs交叉編譯 首先 ...