今天調好了鍵盤驅動!

2021-06-16 02:21:38 字數 547 閱讀 3599

還記得去年10月,我就買了塊板子,準備學嵌入式開發。直到現在才開始認認真真地寫驅動玩玩。這個鍵盤驅動我以前就弄過的,不過當時知識學的不紮實。光會純搬別人的程式,出現了問題都不知道怎麼解決。經過這麼幾個月的努力,現在做起來就舒服多了 。 在寫和除錯的過程中也遇到了許多的問題。下面就是一些記錄:

poll函式的實現方法:

static unsigned int key_dev_poll(

struct file *file,

struct poll_table_struct *wait)

err = copy_to_user(buff,(const void*)key_dev->buf,count);

//if success, return 0!!!!!!!!!!!!!!!!!!!

return ret ? -efault : count;//it is vital!!!

這個函式弄了很久! 開始沒有注意到它呼叫成功,就返回0!!!!導致應用程式一直出錯(讀不到資料)。

最後提醒自己,一定要多注意函式執行成功或出錯時的返回值/錯誤碼!

矩陣鍵盤驅動原理

矩陣鍵盤驅動原理 矩陣鍵盤由行訊號和列訊號組成矩陣。每個按鍵連線到行訊號和列訊號的交叉點。通過矩陣鍵盤控制器行訊號線順序逐行輸出掃瞄脈衝,列訊號線作為輸入訊號線。如果沒有按鍵按下,列訊號線不會產生中斷,沒有對按鍵的處理。如果有按鍵按下去,對應的行輸出掃瞄脈衝就會在對應的列訊號線產生變化,就會觸發鍵盤...

linux鍵盤按鍵驅動

1.先來介紹以下幾個結構體使用和函式,下面 中會用到 1 input dev驅動裝置結構體中常用成員如下 struct input dev2.然後開始寫 1 向核心申請input dev結構體 2 設定input dev的成員 3 註冊input dev 驅動裝置 4 初始化定時器和中斷 5 寫中斷...

虛擬鍵盤驅動程式

文章出處 作者 李先靜 前 段時間寫乙個程式,要向系統中注入按鍵事件,我又不想信賴於具體的gui,就寫乙個虛擬鍵盤裝置驅動程式,感覺挺好用的,不過後來發現linux其實有一 個uinput驅動程式實現了類似的功能。幸好後來才發現uinput這玩意兒,否則就沒有機會去寫了這個程式了,有時真是寧願知識面...