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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3246|回復: 0
收起左側

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

[復制鏈接]
ID:188759 發表于 2018-9-20 10:09 | 顯示全部樓層 |閱讀模式

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

01.jpg

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

02.jpg

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

03.jpg

修改完成后保存退出。
添加設備到平臺文件
最后使用命令“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
添加完成后如下圖所示:

04.jpg

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

05.jpg

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

06.jpg

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

07.jpg

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

08.jpg

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

09.jpg

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

10.jpg

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

11.jpg

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

12.jpg

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

13.jpg

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

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

15.jpg

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

16.jpg

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


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美jizz19性欧美 | 一级片免费视频 | 在线不卡av | 国产黄色片视频 | 国精产品99永久一区一区 | 激情六月天 | 国产精品成人国产乱一区 | www性| 亚洲视频免费看 | 日本a网站| 少妇一级淫片免费放 | 天天视频黄 | 欧美日本在线 | 国产黄在线观看 | 日本a级大片 | 综合一区二区三区 | 久久性| 国产伦精品一区二区免费 | 亚洲性av| 国产一区二区三区免费 | 天堂视频在线观看 | 免费看黄色一级片 | 成人毛片100免费观看 | 午夜爽爽影院 | 国产欧美日韩一区二区三区 | 欧美色图一区二区三区 | 黄色综合网 | 国产特级黄色片 | 黄色三级网 | 久久伊人久久 | 一区二区在线看 | 一区二区三区国产精品 | 在线免费看毛片 | 不卡的av网站 | 一级片欧美 | 国产乱码精品一区二区三 | 日批视频免费在线观看 | a级片在线 | 狠狠干美女 | 三级免费观看 | 青青草伊人网 |