久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3105|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

iTOP-4412開發(fā)板實(shí)現(xiàn)3路ADC數(shù)模轉(zhuǎn)換驅(qū)動(dòng)例程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

學(xué)習(xí)下 linux 數(shù)模程序驅(qū)動(dòng)的編寫,本節(jié)我們實(shí)現(xiàn)的功能是實(shí)現(xiàn)三路
ADC 數(shù)模轉(zhuǎn)換。
驅(qū)動(dòng)程序
驅(qū)動(dòng)程序的名字:“itop4412_adc.c”。
要想把這個(gè)驅(qū)動(dòng)注冊(cè)到內(nèi)核,先把這個(gè)驅(qū)動(dòng)程序放到內(nèi)核的“driver/char”目錄下面,如
下圖所示:

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

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

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

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

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

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

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

如下圖所示,加載之后使用命令“l(fā)s /dev”,可以看到新生成了設(shè)備節(jié)點(diǎn) adc。

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

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

調(diào)整滑動(dòng)電阻器之后,再次使用測(cè)試程序,如下圖所示,輸出數(shù)值會(huì)有變化。

滑動(dòng)變阻器向順時(shí)針旋轉(zhuǎn),阻值會(huì)減小,最小為 0;
滑動(dòng)變阻器向逆時(shí)針旋轉(zhuǎn),阻值會(huì)增大,最大為 10k。
第二條使用命令“./mnt/udisk/adctest 1 0”,運(yùn)行小應(yīng)用 “adctest”,如下圖所
示:

調(diào)整滑動(dòng)電阻器之后,再次使用測(cè)試程序,如下圖所示,輸出數(shù)值會(huì)有變化

滑動(dòng)變阻器向順時(shí)針旋轉(zhuǎn),阻值會(huì)減小,最小為 0;
滑動(dòng)變阻器向逆時(shí)針旋轉(zhuǎn),阻值會(huì)增大,最大為 10k。
第三條使用命令“./mnt/udisk/adctest 1 1”,運(yùn)行小應(yīng)用 “adctest”,如下圖所
示:

調(diào)整滑動(dòng)電阻器之后,再次使用測(cè)試程序,如下圖所示,輸出數(shù)值會(huì)有變化。

滑動(dòng)變阻器向順時(shí)針旋轉(zhuǎn),阻值會(huì)減小,最小為 0;
滑動(dòng)變阻器向逆時(shí)針旋轉(zhuǎn),阻值會(huì)增大,最大為 10k。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区三区亚洲 | 欧美亚洲国产一区 | 一个色在线| 精品91久久久 | 18成人在线观看 | 久久一区二区三区四区五区 | 91精品久久久久久久久 | 东京久久 | 在线成人精品视频 | 日干夜操| 99久久亚洲| 午夜av一区二区 | 青青久久 | 国产中文一区二区三区 | 欧美性猛交一区二区三区精品 | 欧美高清性xxxxhdvideosex | 久久综合狠狠综合久久综合88 | 欧美亚洲另类丝袜综合网动图 | 四季久久免费一区二区三区四区 | 国产日产精品一区二区三区四区 | 久久久精彩视频 | 国产精品久久久av | 天堂中文在线观看 | 精品久久一区 | 久久99精品视频 | 日韩av在线播 | 欧美无乱码久久久免费午夜一区 | 亚洲精品字幕 | 亚洲精品免费视频 | 国产91丝袜在线18 | 日韩一区二区在线播放 | 嫩草视频在线看 | 亚洲综合久久精品 | 99久久精品免费看国产高清 | 91中文在线观看 | 久久99精品久久久久 | 成人a视频| 狠狠干av | 激情影院久久 | 成人午夜精品一区二区三区 | 1204国产成人精品视频 |