使用GPIO封裝函式操作led

2021-10-14 17:54:18 字數 2271 閱讀 5748

#include

#include

#include

#include

#include

#include

#include

static

unsigned

int major;

static

struct device * led_dev;

static

struct class * led_class;

int led_open (

struct inode * node,

struct file * filp)

int led_release (

struct inode *node,

struct file * filp)

ssize_t led_write

(struct file * filp,

const

char __user * buff, size_t count, loff_t * offset)

if(led_cmd ==0)

//關燈if(

0==gpio_request

(s5pv210_gpc0(4

),"gpc0_4"))

}else

//開燈if(

0==gpio_request

(s5pv210_gpc0(4

),"gpc0_4"))

}return0;

}const

struct file_operations fops =

;static

int __init drv_led_init

(void

)// 2. 建立類

//引數1: this_module,表示當前模組

//引數2: /sys/class/下建立的目錄名稱,自定義

led_class =

class_create

(this_module,

"led_class");

if(is_err

(led_class)

)//3. 建立裝置結點

// 手動建立裝置節點的方法: mknod /dev/drv_led c 250 0

// 引數1: 建立的類

// 引數2: 裝置的父類

// 引數3: 裝置號,包括了主裝置號和次裝置號,用mkdev來合成

// 引數4: 裝置檔案的私有資料

// 引數5: 裝置節點名稱

led_dev =

device_create

(led_class,

null

,mkdev

(major,0)

,null

,"drv_led");

if(is_err

(led_dev)

)//4. 硬體初始化if(

0==gpio_request

(s5pv210_gpc0(3

),"gpc0_3"))

if(0==

gpio_request

(s5pv210_gpc0(4

),"gpc0_4"))

return0;

err_device_create:

class_destroy

(led_class)

; err_class_create:

unregister_chrdev

(major,

"drv_led");

return ret;

}static

void __exit drv_led_exit

(void

)//模組的入口函式

module_init

(drv_led_init)

;//模組的出口函式

module_exit

(drv_led_exit)

;//要遵循gpl協議

module_license

("gpl"

);

#include

#include

#include

#include

#include

#include

intmain

(void

)while

(count--

)close

(fd)

;return0;

}

linux kernel操作GPIO函式

include int gpio request unsigned gpio,const char label 功能 申請乙個gpio 引數 gpio 管腳號 label 管腳名,可以為空 null 返回值 成功返回0,失敗返回錯誤碼 int gpio direction output unsign...

核心GPIO操作庫函式

gpio request int gpio,char name 函式作用 明確 硬體gpio對於核心來說像記憶體一樣,都是一種寶貴的資源,所以如果軟體要訪問,首先應該向核心去申請硬體gpio資源 明確 每乙個硬體gpio由廠家定義好了乙個名稱,例如gpc0 3,但是在核心中,核心會重新給這個硬體gp...

linux核心裡的GPIO操作函式

1.gpio set value unsigned gpio,int value 用來設定gpio暫存器的值 2.gpio direction output unsigned gpio,int value 用來設定gpio為輸出功能,同時設定gpio輸出的值。一般來說,設定乙個gpio口為輸出,先執...