硬件平臺:FL2440
內核版本:2.6.28
主機平臺:Ubuntu 11.04
內核版本:2.6.39
原創作品,轉載請標明出處: http://blog.csdn.net/yming0221/archive/2011/06/26/6568937.aspx
這個驅動寫了好久,因為原來的Linux內核編譯的時候將觸摸屏驅動編譯進內核了,而觸摸屏驅動里的ADC中斷在注冊的時候類型選擇的是
IRQF_SAMPLE_RANDOM,不是共享類型,所以,自己寫的ADC驅動在每次open的時候,總提示ADC中斷注冊失敗。
解決方案:
重新配置內核,選擇觸摸屏驅動以模塊的形式編譯,而不是直接編譯進內核,這樣Linux在啟動的時候不會自動加載觸摸屏驅動,當然,IRQ_ADC中斷號不會被占用。這樣可以測試自己寫的ADC驅動了。
以下是驅動源代碼:
Makefile文件:
以下是測試代碼:
首先新建設備:
mknod /dev/my_adc c 102 32
然后插入驅動 insmod adc.ko
運行測試程序./read
結果如下:
可以看出,調節ad轉換器上的旋鈕,看到AD轉換值的變化,說明驅動工作正常。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
