iTOP-4412開發板實現3路ADC數模轉換驅動例程

學習下 linux 數模程序驅動的編寫,本節我們實現的功能是實現三路
ADC 數模轉換。
驅動程序
驅動程序的名字:“itop4412_adc.c”。
要想把這個驅動注冊到內核,先把這個驅動程序放到內核的“driver/char”目錄下面,如
下圖所示:

Makefile
然后打開 drive/char 目錄下面的 Makefile,添加:
obj-$(CONFIG_ADC_CTL) += itop4412_adc.o
如下圖所示:

添加完成后保存退出。
Kconfig
打開“drive/char”目錄下面的 Kconfig,搜索“LEDS_CTL”,找到之后在下面添加
“DS18B20_CTL”,仿照著“LEDS_CTL”寫就可以了,添加內容如下:
config 3LADC_CTL
bool "Enable 3LADC config"
default y
help
Enable 3LADC config
添加完成后如下圖所示:

修改完成后保存退出。
添加設備到平臺文件
最后使用命令“vim arch/arm/mach-exynos/mach-itop4412.c”,打開平臺文件。添
加設備,參考 led 的驅動,添加內容一如下:
#ifdef CONFIG_ADC_CTL
struct platform_device s3c_device_adc_ctl = {
.name = "adc_ctl",
.id = -1,
};
#endif
添加完成后如下圖所示:

添加內容二如下:
#ifdef CONFIG_ADC_CTL
&s3c_device_adc_ctl,
#endif
添加完成后如下圖所示:

修改完成后保存退出。
內核的編譯
內核在編譯之前應該先對其進行參數配置。具體講解可以參考 itop-4412 開發板精英使
用手冊 5.3.2,這里以 SCP 2G 核心板為例編譯 zImage 內核鏡像,那么配置文件為
config_for_linux_scp_elite 使用命令 cp cconfig_for_linux_scp_elite .config 配置,

在內核目錄下使用 make menuconfig 命令打開內核配置界面,進入 “Device Drivers
--->”→“Character devices --->”→“ADC driver for iTOP4412”,如下圖所示,配置
上宏 定義“ADC_CTL”。

配置完成后保存退出,以免出錯可以再查看一遍,然后使用編譯命令“make zImage”
編譯內核。編譯完成后在目錄
“/home/topeet/android4.0/iTop4412_Kernel_3.0/arch/arm/boot”下找到新生成的
zImage 編譯到開發板,啟動開發板。開發板啟動之后,使用命令“ls
/sys/devices/platform/”可以查看到新注冊的 adc_ctl 設 備,如下圖所示。

如下圖所示,加載之后使用命令“ls /dev”,可以看到新生成了設備節點 adc。

測試程序
名字:“adctest.c”
在 Ubuntu 系統下新建 ada 文件夾,將寫好的 “adctest.c” 拷貝到文件夾下,使用
“arm-none-linux-gnueabi-gcc -o adctest adctest.c -static”命令編譯應用。 如下圖所
示。

將上圖中的文件“adctest” 拷貝到 U 盤。 啟動開發板,將 U 盤插入開發板,使用命
令“ mount /dev/sda1 /mnt/udisk/”加載 U 盤符, 有三條命令運行小應“adctest”,
第一條使用命令“./mnt/udisk/adctest 0 0”,運行小應用 “adctest”,如下圖所
示:

調整滑動電阻器之后,再次使用測試程序,如下圖所示,輸出數值會有變化。

滑動變阻器向順時針旋轉,阻值會減小,最小為 0;
滑動變阻器向逆時針旋轉,阻值會增大,最大為 10k。
第二條使用命令“./mnt/udisk/adctest 1 0”,運行小應用 “adctest”,如下圖所
示:

調整滑動電阻器之后,再次使用測試程序,如下圖所示,輸出數值會有變化

滑動變阻器向順時針旋轉,阻值會減小,最小為 0;
滑動變阻器向逆時針旋轉,阻值會增大,最大為 10k。
第三條使用命令“./mnt/udisk/adctest 1 1”,運行小應用 “adctest”,如下圖所
示:

調整滑動電阻器之后,再次使用測試程序,如下圖所示,輸出數值會有變化。

滑動變阻器向順時針旋轉,阻值會減小,最小為 0;
滑動變阻器向逆時針旋轉,阻值會增大,最大為 10k。

轉載于:https://www.cnblogs.com/kujiu1/p/9679166.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/279310.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/279310.shtml
英文地址,請注明出處:http://en.pswp.cn/news/279310.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

β射線與哪些物質可產生較高的韌致輻射_輻射無所不在,香蕉土豆里都有?我們還能愉快生活嗎?...

作為一枚受過系統科學教育,耳聰目明的當代年輕人,你是不是隔三差五被長輩親友群里各種“XX有放射性,趕緊遠離!”的科學謠言搞得哭笑不得?又或者,稍一不注意,長輩親友就買回了各種號稱黑科技滿滿…

requests保存圖片

1.創建07_save_jpg.py文件 import requests#發送請求respone requests.get("https://www.baidu.com/img/bd_logo1.png?wheresuper")#保存with open("a.png","wb")as f: f.write(respone.content)2.運行代碼 轉載于:https://www.cnblogs.com…

在Linux上運行Windows軟件的4種以上方法

Linux has come a long way, but you may still need to run Windows applications occasionally – especially Windows-only PC games. Luckily, there are quite a few ways to run Windows applications on Linux. Linux已經走了很長一段路,但是您可能仍然偶爾需…

Spring-IOC XML 配置多個相同 ID 的 bean 加載分析

我們現在仍以 xml 中配置 bean 的方式來 使用 Spring ,不考慮注解和掃包 配置相同id 的bean 定義一個 bean 類 TransactionManager /*** author maple 2018.09.10 下午10:27*/ public class TransactionManager {private static int counter 0;private String bean…

confd_confd + Nacos | 無代碼侵入的配置變更管理

為什么要支持confd,老的應用配置管理模式是啟動時讀取配置文件,然后重新讀取配置文件需要應用重啟。一般的配置管理系統都是代碼侵入性的,應用接入配置管理系統都需要使用對應的SDK來查詢和監聽數據的變更。對于一些已經成熟的系統來說&#…

如何在Windows 8中更改登錄屏幕的顏色

Nearly every component of Windows 8 can be customized to suit your needs, some settings however are buried deep into the registry. Windows 8的幾乎每個組件都可以自定義以滿足您的需求,但是某些設置卻深埋在注冊表中。 如何在Windows 8中更改登錄屏幕的顏…

我看的書籍

UNIX Network Programming, Volume 1, Second Edition, by W.Richard Stevens. Cocoa Programming for Mac OS X, Third Edition, by Aron Hillegass. Beginning AppleScript, by Stephen G. Kochan. 轉載于:https://www.cnblogs.com/IvanYang/archive/2010/11/11/1874610.html…

linux下mysql數據庫操作命令

1:啟動服務 service mysqld start (5.0版本是mysqld) service mysql start (5.5.7版本是mysql)2:停止服務 service mysqld stop3:重啟服務 service mysqld restart service mysql restart (5.5.7版本命令)4:登陸 登陸本地主機 my…

js怎么獲取一個元素與屏幕右邊的距離_js中如何獲取某個元素到瀏覽器最左和最右的距離...

js中如何獲取某個元素到瀏覽器最左和最右的距離以下文字資料是由(歷史新知網www.lishixinzhi.com)小編為大家搜集整理后發布的內容&#xff0c;讓我們趕快一起來看一下吧&#xff01;js中獲取某個元素到瀏覽器最左和最右的距離的程序代碼是&#xff1a;<> //自行下載分頁…

kindle閱讀_如何在Kindle上清除最遠的閱讀頁面

kindle閱讀It’s really annoying when you’re trying to re-read an eBook and your Kindle or Kindle app keeps trying to get you to jump to the end because that’s the “Furthest Location Read.” Here’s how to fix it. 當您嘗試重新閱讀電子書并且Kindle或Kindle…

杜鵑演繹奢華春裝大片

化妝/發型:老黑(老黑造型)化妝 /發型助理:全科班學員(老黑化妝造型藝術學校)這組片子是為《芭莎》雜志拍攝的,而且就刊登在本月的刊目里.每次看到自己的作品都感到有一絲的成就感,這也是我喜歡這份工作最直接的原因,哈哈!!話不多說了,一起欣賞大片吧!!化妝/發型:老黑(老黑造型)…

WPF 繪制對齊像素的清晰顯示的線條

WPF 繪制對齊像素的清晰顯示的線條 原文:WPF 繪制對齊像素的清晰顯示的線條版權聲明&#xff1a;本作品采用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。歡迎轉載、使用、重新發布&#xff0c;但務必保留文章署名呂毅&#xff08;包含鏈接&#xff1a;h…

中輸入learn_Scikit-learn新版本發布,一行代碼秒升級

十三 發自 凹非寺 量子位 報道 | 公眾號 QbitAIScikit-learn&#xff0c;這個強大的Python包&#xff0c;一直深受機器學習玩家青睞。而近日&#xff0c;scikit-learn 官方發布了 0.22 最終版本。此次的更新修復了許多舊版本的bug&#xff0c;同時發布了一些新功能。安裝最新版…

禁用刪除鍵退回歷史記錄_如何在Windows 8中刪除或禁用搜索超級按鈕歷史記錄

禁用刪除鍵退回歷史記錄When you use the Search Charm in Windows 8 it remembers everything you search for, which is very useful, but if you share your PC with someone you may want to delete your history or even disable it. Here’s how to do it. 在Windows 8中…

Java8基礎之super關鍵字

相信學過Java語言的小伙伴都熟悉super這個關鍵字&#xff0c;接下來&#xff0c;我們來研究他的一些基礎用法吧。 定義名字為Father的類 package superkeyworld;public class Father {public String name;public int age;public Father() {}public Father(String name, int age…

canpro腳本_AE/PR腳本-創建編輯導入導出專業字幕腳本 Subtitle Pro 2.8.0 + 使用教程...

Subtitle Pro是一個專業的插件&#xff0c;可讓您直接在After Effects和Premiere Pro中為視頻創建字幕。可將字幕快速的導入或導出。您可以導入.srt文件或任何字幕格式&#xff0c;也可以編寫文本。一鍵翻譯單詞&#xff0c;一鍵同步時間。不僅是簡單的字幕文字&#xff0c;還可…

【概率論】1-2:計數方法(Counting Methods)

title: 【概率論】1-2:計數方法(Counting Methods) categories: MathematicProbability keywords:Counting Methods技術方法Combinatorial Methods組合方法Multiplication乘法法則Permutations排列Stirling’s Formula斯特林公式 toc: true date: 2018-01-25 10:35:46Abstract:…

Python字符編碼詳解

Python字符編碼詳解 http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html本文簡單介紹了各種常用的字符編碼的特點&#xff0c;并介紹了在python2.x中如何與編碼問題作戰 &#xff1a;&#xff09; 請注意本文關于Python的內容僅適用于2.x&#xff0c;3.x中str和…

使用sql服務器發送賀卡_創建和發送免費電子賀卡的最佳網站

使用sql服務器發送賀卡With the holiday season upon us, it’s time to pull out the holiday card list and get writing. However, how would you like to save some money this year and also help save the environment? 隨著假期的到來&#xff0c;是時候抽出節日賀卡清…

職稱申報評審管理系統_《四川省職稱評審管理暫行辦法》出臺

我省將探索實行職稱評審電子證書&#xff0c;電子證書與紙質證書具有同等效力。12月29日&#xff0c;記者從省人社廳了解到&#xff0c;我省近日出臺《四川省職稱評審管理暫行辦法》&#xff0c;從職稱評審總體要求、評審主體、申報程序、組織實施、優化服務、強化監管等方面提…