iTOP-4412开发板_驱动_adc驱动升级和测试例程
本文档介绍 iTOP-4412 开发板的 adc 驱动的升级和测试例程。
自带的驱动只能支持一路 adc,本文介绍如何修改可以支持 4 路 adc 的控制。
1 硬件简介
如下图所示,这是 4412 的 datasheet 截图,可以看到 4412 一共有 4 路 ADC 接口。

如下图所示,这是开发板自带的 ADC 电路,ADC 接的是滑动变阻器,网络标号是
XadcAIN0,因为有滑动变阻器,所以这一路测试的时候,动了滑动变阻器,就会影响 adc 的
输出值。

如下图所示,是底板和核心板连接器,可以看到 XadcAIN[0:3],这四路都引到底板。

如下图所示,可以看到 ADC1 和 ADC2 引到 J38 端子。

综上,4412 开发板一共四路 ADC,通道 0 接到滑动变阻器,通道 1 和 2 通过 J38 引
出,通道 4 引到底板,但是底板并没有引出。
2 驱动升级
压缩包中的“itop4412_adc.c”文件是升级之后的 adc 驱动文件,拷贝到内核源码下的
“drivers/char/”目录下,将原来旧的驱动覆盖(老驱动注意备份),如下图所示,然后重新
编译内核镜像,将新的内核镜像烧写到开发板中。

3 测试例程和测试方法
测试例程是压缩包中的“topeet_4412_adc.c”文件,拷贝到开发板,使用命令“arm-
none-linux-gnueabi-gcc -o topeet_4412_adc topeet_4412_adc.c -static”编译,如下图
所示。

将生成的测试例程 topeet_4412_adc,通过 U 盘、TF 卡或者 NFS 等方式弄到开发板。
如下图所示,在开发板控制台中,使用命令“/dev/adc”,可以看到 adc 的设备节点。

测试程序“topeet_4412_adc”需要两个参数,第一个参数是设备节点“/dev/adc”,
第二个参数是通道数 0、1、2、3。
如下图所示,使用命令“./topeet_4412_adc /dev/adc 0”可以测试滑动变阻器的 adc
值,作者测试的值为 5897。

旋转滑动变阻器的旋钮,再次测试,如下图所示,变为了 6202。

如果要测量通道 1 和 2,可以将其拉高为 1.8V(注意:不要超过 1.8V)或者 0V(接
地),如下图所示,将通道 1 拉高到 1.8V,使用命令“./topeet_4412_adc /dev/adc 1”。

如果将其拉低,接地,再次测试,如下图所示,读取的值为 0。

iTOP-4412开发板_驱动_adc驱动升级和测试例程的更多相关文章
- 迅为4412开发板Linux驱动教程——编写简单应用调用驱动
Linux驱动教程:http://pan.baidu.com/s/1c0hljUS 编写简单应用调用驱动--头文件 • 打印头文件 – include <stdio.h>调用打印函数pri ...
- 4412开发板升级4.2之后改了logo开机后屏幕闪解决办法
荣品4412开发板升级到4.2请注意增加虚拟机内存. 问:荣品4412开发板升级到Android4.2之后,改了logo.4412板子开机后,过一会屏幕就一闪一闪,是什么原因? Android4.2编 ...
- 基于讯为4412开发板的Android开发流程
讯为4412开发板 使用三星2410芯片,基于arm9架构,由于自己电脑硬件的局限,只能跑Android4.0.3系统. 1.Uboot这个直接使用官方镜像烧写就可以了,一般情况不用去重复烧写. 略 ...
- 【开学季】自学嵌入式开发|四核开发板|4412开发板|ARM+Android+linux技术
淘宝店铺:迅为开发板http://arm-board.taobao.com 网站:http://www.topeetboard.com QQ咨询:2551456065 电话咨询:010-5895758 ...
- 迅为三星Exynos 4412开发板四核Cortex-A9ARM安卓linux开发板
开发板光盘资料包含:原理图(PDF格式).底板PCB(Allegro格式).驱动程序源码.芯片和LCD数据手册.开发环境.产品使用手册. 4412开发板简介: iTOP-Exynos4412开发板采用 ...
- 【转帖】嵌入式4412开发板QT5.7编译安装到arm
QT5.7.0+UBUNTU16.04+ARM-NONE-LINUX-GNUEABI4.8+busybox最小LINUX系统 Orandragon记录 本文转自迅为4412开发板群:http://to ...
- 迅为4412开发板QtE系统源码-屏幕横竖屏切换修改方法
迅为4412开发板QtE系统源码-屏幕横竖屏切换修改方法 详情了解:http://topeetboard.com 更多了解:https://arm-board.taobao.com/ 用户在开发板上运 ...
- [转帖]4412开发板/4418开发板Android4.4.4实现ble功能
本文转自迅为论坛:http://bbs.topeetboard.com ①.4418开发板实现ble功能方法: 在4418/android/device/nexell/drone2/device.mk ...
- 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...
随机推荐
- Resolving Issues of "Library Cache Pin" or "Cursor Pin S wait on X" (Doc ID 1476663.1)
Doc ID 1476663.1) To Bottom In this Document Purpose Troubleshooting Steps Brief Definition: ...
- 关于IOC容器的一些个人理解
一丶前言 下面是本人对于IOC容器的一些个人理解,希望能帮到初学者认识IOC,如有理解得不对的地方欢迎指正,也让我学学. 二丶IOC是什么,它是干嘛的? IOC只是一种编程思想,不局限于任何一种语言, ...
- docker WARNING: IPv4 forwarding is disabled 问题解决
问题: [yuyongxr@localhost ~]$sudo docker run -d --name nginx -p : nginx WARNING: IPv4 forwarding is di ...
- Windows 2016 忘记密码的处理方法
发现使用 osk 还有 magnify 的方式修改 密码的方式在win server 的机器上面行不通了. 换一种方式进行处理. 使用PE 方式处理. 1. 下载PE 发现比较早的PE 也搞不定 可能 ...
- 在写php项目时 修改外部css或js文件没有效果
原因是:浏览器的自动缓存机制导致的. 这是因为浏览器会自动缓存静态文件以加快访问速度,所以这就导致浏览器将不会再接收静态文件了 解决办法是 使用ctrl+F5 —— 传说中的完全刷新,会删掉所有本地临 ...
- 怎么使Richedit中光标始终指到最后一行的最后面?
Richedit中数据会不断增加.要始终能看到当前的数据.该怎么做? SendMessage(Memo->Handle, WM_VSCROLL, SB_BOTTOM, 0); SendMessa ...
- cglib 代理实现
cglib代理的原理是通过继承实现对目标对象的代理 //1.接口 package cn.itcast.service; public interface UserService { void save ...
- 解决Docker安装MySQL不区分大小写问题
Docker安装MySQL忽略大小写问题的问题连接MySQL: 查看当前mysql的大小写敏感配置 show global variables like '%lower_case%'; +------ ...
- Meterpreter命令详解
0x01初识Meterpreter 1.1.什么是Meterpreter Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以 ...
- nginx 返回数据被截断
nignx 代理 buffer proxy_buffers 16 512k; proxy_buffer_size 512k; fastcgi buffer fastcgi_buffers 4 64 ...