簡單的led驅動程式設計

2022-09-17 13:06:11 字數 872 閱讀 4771

基於ok6410:

led驅動程式:

vim led.c

#include

#include

#include

#include

#include

#include

#include"led.h"

#include

#define gpmcon 0x7f008820

#define gpmdat 0x7f008824

unsigned int *led_config;

unsigned int *led_data;

struct cdev cdev;

dev_t devno;

long led_loctl(struct file *filp, unsigned int cmd, unsigned long arg) //實現對硬體的控制

}int led_open(struct inode *node, struct file *filp)  //open中實現硬體初始化

const struct file_operations led_fops =

;static int led_init() //模組入口函式

static void led_exit() //模組登出

cmd = atoi(ar**[1]);

fd = open("/dev/myled",o_rdwr);

if(cmd == 1)

ioctl(fd,led_on);//裝置驅動程式中對裝置的i/o通道進行管理的函式。

else

ioctl(fd,led_off);

return 0;}

安裝模組,安裝裝置檔案,執行編譯好的應用程式。

LED驅動程式設計

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

驅動開發3 簡單的led驅動

一 字元裝置驅動框架 字元裝置驅動的編寫主要就是驅動對應的open close read。其實就是file operations結構體的成員變數的實現。二 驅動模組的載入與解除安裝 1 linux驅動程式有兩種存在形式 編譯到kernel裡面,也就是zimage 編譯為模組,ko。tip 1 編譯驅...

驅動篇 乙個簡單的led驅動

1.構造裝置結構體 struct light dev cdev結構體 struct cdev 2.設定裝置資訊 struct light dev light devp 設定裝置結構體變數 int light major light major 設定主裝置號3.設定並填充file operations...