輸入子系統簡單(按鍵)測試

2021-05-31 21:21:40 字數 2002 閱讀 6477

輸入子系統簡單(按鍵)測試

//input_key.c 

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include /* for -ebusy */

8 #include /* for request_region */

9 #include /* for loops_per_jiffy */

10 #include 11 #include /* for wait_queue */

12 #include /* for __init, module_ */

13 #include /* for pollin, etc. */

14 #include 15 #include 16 #include 17

18 #include 19 #include 20 #include 21 //#include 22 #include 23 #include 24

25 #include /* for inb_p, outb_p, inb, outb, etc. */

26 #include /* for get_user, etc. */

27 #include 28 #include 29 #include 30

31 struct pin_desc

37 38 static struct pin_desc buttons_pin[4] = ,

40      ,

41      ,

42      ,

43 };

44 45 static volatile char key_values = ;

46 47 //所有的輸入事件裝置 核心都用這個統一個資料結構來描述

48 static struct input_dev *buttons_input;

49 50 static irqreturn_t buttons_interrupt(int irq, void *dev_id)

51 76

77 static int buttons_init(void)

78 113

114     // 2. 把k10的引腳配置為中斷引腳並且設定觸發方式 註冊中斷

115     for (i = 0; i < sizeof(buttons_pin)/sizeof(buttons_pin[0]); i++)

118     return 0;

119 }

120

121

122 static void buttons_exit(void)

123

129

130     input_unregister_device(buttons_input);

131     input_free_device(buttons_input);

132

133 }

134

135 module_init(buttons_init);

136 module_exit(buttons_exit);

137

138 module_license("gpl");

測試應用程式:

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 

13 int main(void)

14 25

26 for (;;)

37         close(buttons_fd);

38         return 0;

39 }

ubuntu的抓圖功能用不了,只能複製終端的列印上來:

輸入子系統測試

下面對測試方法進行介紹 1.使用hexdump dev event1 其中的event1是本機的,這個根據不同的驅動而定,你所寫的可能不是1,而是2,3,4等 hexdump的意思是十六進製制顯示 裝置 dev event1,他就相當於是實現了 open dev event1 read write ...

linux輸入子系統之按鍵驅動

上一節中,我們講解了linux input子系統的框架,到核心原始碼裡詳細分析了輸入子系統的分離分層的框架等。這一節,我們來以輸入子系統的框架來寫乙個按鍵驅動。問 怎麼寫符合輸入子系統框架的驅動程式?答 1.分配乙個input dev結構體 2.設定 3.註冊 4.硬體相關的 比如在中斷服務程式裡上...

按鍵驅動之使用輸入子系統架構

有關輸入子系統我們可以參考 gpio keys.c這個 注 這只是乙個例子,沒有實際的作用 static struct input dev button dev 1.分配乙個input device結構體 參考gpio keys.c這個例子,可以知道其分配函式是input allocate devi...