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.mzph.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中更改登录屏幕的颜…

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 绘制对齐像素的清晰显示的线条版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:h…

中输入learn_Scikit-learn新版本发布,一行代码秒升级

十三 发自 凹非寺 量子位 报道 | 公众号 QbitAIScikit-learn,这个强大的Python包,一直深受机器学习玩家青睐。而近日,scikit-learn 官方发布了 0.22 最终版本。此次的更新修复了许多旧版本的bug,同时发布了一些新功能。安装最新版…

禁用删除键退回历史记录_如何在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中…

【概率论】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:…

使用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? 随着假期的到来,是时候抽出节日贺卡清…

WordCount--统计输入文件的字符数、行数、单词数(java)--初级功能

码云地址: https://gitee.com/YuRenDaZ/WordCount 个人PSP表格: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 180 120 Estimate 估计这个任务需要多少时间 180 120 D…

荣耀9igoogle模式_iGoogle个性化主页的6种替代方法

荣耀9igoogle模式iGoogle has less than a year to go before it’s shut down for good on November 1, 2013. While Google seems to think that iGoogle isn’t necessary anymore, there are other services waiting to take its place. iGoogle距离其2013年11月1日永久关闭…

华为堡垒机_安恒信息成为“华为云优秀严选合作伙伴”,携手保障“云上”资产安全访问...

加快5G持续创新能力,为云计算行业注入新动能。近日,以“智者•同行•共赢”为主题的2020华为云ISV(严选)合作伙伴大会在杭州隆重举行。上百位华为云合作伙伴、行业大咖等专业人士齐聚一堂,探讨云计算产业热门话题。作为华为云重要的生态合作伙…

非三星手机无法登录三星账号_如何解决所有三星手机的烦恼

非三星手机无法登录三星账号Samsung is the biggest manufacturer of Android phones in the world, but that doesn’t mean these handsets are perfect out of the box. In fact, most of these phones have several annoyances initially—here’s how to fix many of thes…

设置单元格填充方式_单元格的选择及设置单元格格式

数据输入完毕,接下来可以设置字体、对齐方式、添加边框和底纹等方式设置单元格格式,从而美化工作表。要对单元格进行设置,首先要选中单元格。选择单元格选择单元格是指在工作表中确定活动单元格以便在单元格中进行输入、修改、设置和删除等操…

springboot三种过滤功能的使用与比较

若要实现对请求的过滤,有三种方式可供选择:filter、interceptort和aop。本文主要讨论三种拦截器的使用场景与使用方式。 下文中的举例功能是计算每个请求的从开始到结束的时间,例子来源是慕课网。 一、filter 特点:可以获取原始的…

后缀的形容词_构词法(18)构成形容词的常见后缀 3

即时练习一、按要求改写下列单词。1. Japan →___________ adj. 日本(人)的2. Canton →_________ adj. 广东(人)的3. Vietnam →__________ adj. 越南(人)的4. Europe →__________ adj. 欧洲(人)的5. India → ________ adj. 印度(人)的6. Africa →_______ adj. 非洲(人)的7…

批量删除推文_如何搜索(和删除)您的旧推文

批量删除推文“The internet never forgets” is an aphorism that isn’t entirely true, but it’s worth thinking about whenever you post to social media. If you think your Twitter profile needs a bit of a scrub, here’s how to search and delete those old twee…