99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

Linux字符設備控制怎么實現(xiàn)

本篇內(nèi)容介紹了“Linux字符設備控制怎么實現(xiàn)”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于網(wǎng)站設計、做網(wǎng)站、洛陽網(wǎng)絡推廣、微信小程序開發(fā)、洛陽網(wǎng)絡營銷、洛陽企業(yè)策劃、洛陽品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學生創(chuàng)業(yè)者提供洛陽建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:www.yijiale78.com

和 led 燈類似,蜂鳴器的設備節(jié)點也是在/dev 目錄下,如下圖所示。
Linux字符設備控制怎么實現(xiàn)
蜂鳴器的硬件和 led 燈類似,如下圖所示。
Linux字符設備控制怎么實現(xiàn)
如上圖所示。
原理圖很容易理解,如果網(wǎng)絡 MOTOR_PWM 為高電平,則 L9014 導通,蜂鳴器響,如果網(wǎng)絡MOTOR_PWM 為低電平,則 L9014 截止,蜂鳴器則不響。
操作方式和 led 小燈類似。
蜂鳴器測試例程
編寫簡單的 buzzertest.c 文件測試蜂鳴器。
首先添加頭文件,如下圖所示,下面新加了幾個庫文件,一般常用的就是下面幾個,寫代碼的時候,
為了方便,可以直接都添加上。
Linux字符設備控制怎么實現(xiàn)
然后 main 函數(shù)如下圖所示。
Linux字符設備控制怎么實現(xiàn)
如上圖代碼所示。由于只有一個 IO,底層沒有做第三個參數(shù)的判斷,所以無效
第 16-19 行,對參數(shù) argv[1]有個簡單的判斷,命令只能是 0 或者 1。
第 21-24 行,open 函數(shù)打開蜂鳴器設備節(jié)點
第 26 行,使用 ioctl 函數(shù)操作蜂鳴器。
第 27 行,使用 close 函數(shù)關閉設備節(jié)點。
編譯運行測試
在 Ubuntu 系統(tǒng)下,如下圖所示,進入前面實驗創(chuàng)建的目錄“/home/linuxsystemcode/charcontrol”,將源碼 buzzertest.c 拷貝進去,如下圖所示。
Linux字符設備控制怎么實現(xiàn)
使用命令“arm-none-linux-gnueabi-gcc -o buzzertest buzzertest.c -static”編譯buzzertest 文件,如下圖所示,使用命令“l(fā)s”可以看到生成了 buzzertest 可執(zhí)行文件。
Linux字符設備控制怎么實現(xiàn)
這里介紹 U 盤拷貝代碼的方法,也可以編譯進文件系統(tǒng)。
將編譯成的可執(zhí)行文件 buzzertest,拷貝到 U 盤,啟動開發(fā)板,插入 U 盤,加載 U 盤, 運行程序如下。
使用參數(shù) 1 和 0,蜂鳴器會響。第二個參數(shù)實際上并不起作用。
Linux字符設備控制怎么實現(xiàn)
如下圖所示,使用參數(shù) 0 和 0,蜂鳴器會停止響。
Linux字符設備控制怎么實現(xiàn)
17.4  字符類 ADC  模數(shù)轉(zhuǎn)換
和 led 燈類似,數(shù)模轉(zhuǎn)換的設備節(jié)點也是在/dev 目錄下,如下圖所示。
Linux字符設備控制怎么實現(xiàn)
模數(shù)轉(zhuǎn)換的硬件部分如下圖所示。
Linux字符設備控制怎么實現(xiàn)
如上圖所示。
XadcAIN0 網(wǎng)絡可以讀取到當前輸入電壓,滑動變阻器 R 移動的時候,1 和 2 之間的電阻 R12 改變,滑動變阻器最大電阻為 R13,然后電壓 Vadc=R12*VDD1V8_EXT/R13
上面公式中 Vadc 可以通過 4412 讀取出來,VDD1V8 和 R13 已知,那么就很容易求出 R12 的電阻。如下圖所示,在 4412datasheet 中 ADC 章節(jié)中有真實的電阻和電壓曲線圖。
Linux字符設備控制怎么實現(xiàn)
這里將數(shù)值做一個簡單的換算,
1.8V 對應的是 10K 歐姆,對應的寄存器數(shù)值為 0xfff;
0V 對應的是 0 歐姆,對應的寄存器數(shù)值為 0x0。
這樣做一個簡單公式,將讀取的數(shù)值 r 轉(zhuǎn)化為電阻值 R。
R = r*10000/0xfff,即 R = r*10000/4095。
這個小公式在后面的代碼中將會使用到。
模數(shù)轉(zhuǎn)換例程
編寫簡單的 ADC.c 文件測試 adc 的驅(qū)動。首先添加頭文件,如下圖所示。
Linux字符設備控制怎么實現(xiàn)
然后 main 函數(shù)如下圖所示。
Linux字符設備控制怎么實現(xiàn)
如上圖代碼所示。
第 14 行,設備節(jié)點為 char *adc = "/dev/adc"。
第 21 行,打開設備節(jié)點文件。
第 26 行,使用 read 函數(shù),將讀取數(shù)字賦予 buffer。
第 30 和 31 行,做個簡單地換算,將讀取的數(shù)值轉(zhuǎn)化為電阻值。
編譯運行測試
在 Ubuntu 系統(tǒng)下,如下圖所示,進入前面實驗創(chuàng)建的目錄“/home/linuxsystemcode/charcontrol/”將源
碼 ADC.c 拷貝進去,如下圖所示。
Linux字符設備控制怎么實現(xiàn)
使用命令“arm-none-linux-gnueabi-gcc -o ADC ADC.c -static”編譯 ADC 文件,如下圖所示,使用命令“l(fā)s”可以看到生成了 ADC 可執(zhí)行文件。
Linux字符設備控制怎么實現(xiàn)
這里介紹 U 盤拷貝代碼的方法,也可以編譯進文件系統(tǒng),具體方法參考 10.3.5 小節(jié)。將編譯成的可執(zhí)行文件 open,拷貝到 U 盤,啟動開發(fā)板,插入 U 盤,加載 U 盤,運行程序。
如下圖所示,使用命令“./mnt/udisk/ADC”即可檢測當前電阻值,中間的大段打印參數(shù)是多次打印寄存器的數(shù)值,在驅(qū)動實驗中再去介紹。
Linux字符設備控制怎么實現(xiàn)
調(diào)整滑動電阻器之后,再次使用測試程序,如下圖所示,輸出數(shù)值會有變化。
Linux字符設備控制怎么實現(xiàn)
滑動變阻器向順時針旋轉(zhuǎn),阻值會減小,最小為 0;
滑動變阻器向逆時針旋轉(zhuǎn),阻值會增大,最大為 10K。
Linux字符設備控制怎么實現(xiàn)

“Linux字符設備控制怎么實現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

分享文章:Linux字符設備控制怎么實現(xiàn)
文章網(wǎng)址:http://www.yijiale78.com/article48/joogep.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計、ChatGPT、移動網(wǎng)站建設外貿(mào)建站、App設計定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作