原理圖:
驅動程式**:
#include #include應用程式**:#include
#include
#include
#include
#include
#include
#include
#include
static
struct
class *seconddrv_class;
static
struct class_device *seconddrv_class_dev;
volatile unsigned long *gpfcon;
volatile unsigned long *gpfdat;
volatile unsigned long *gpgcon;
volatile unsigned long *gpgdat;
static
int second_drv_open(struct inode *inode, struct file *file)
ssize_t second_drv_read(
struct file *file, char __user *buf, size_t size, loff_t *ppos)
static
struct file_operations sencod_drv_fops =;
intmajor;
static
int second_drv_init(void
)static
void second_drv_exit(void
)module_init(second_drv_init);
module_exit(second_drv_exit);
module_license(
"gpl
");
#include #include#include
#include
/*seconddrvtest
*/int main(int argc, char **argv)
while (1
)
}return0;
}
6410之寫查詢方式的按鍵驅動
查詢的方式獲取按鍵值驅動的步驟大致如下 一 框架 1.file operations的填充 2.入口函式註冊register chrdev 3.修飾入口函式 出口函式 4.自動建立裝置節點 二 硬體操作 一 框架 include include include include include inc...
按鍵驅動程式之查詢方式的總結
按鍵驅動程式和led驅動程式相似,框架都是一樣的。file operations中定義 static struct file operations second drv fops 而這個程式使用的是查詢方式,所以要把引腳配置為輸入模式。看了原理圖可以知道,三個按鍵分別對應gpiog5 6 7pin,...
查詢方式的按鍵驅動程式框架詳解
static struct class button class static int major 0 先定義主裝置號1 用來尋找驅動程式 static struct button operations p button opr 在.件後定義b opr結構體後,在.c檔案中定義結構體的指標全域性變數...