本文档介绍 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驱动升级和测试例程的更多相关文章

  1. 迅为4412开发板Linux驱动教程——编写简单应用调用驱动

    Linux驱动教程:http://pan.baidu.com/s/1c0hljUS 编写简单应用调用驱动--头文件 • 打印头文件 – include <stdio.h>调用打印函数pri ...

  2. 4412开发板升级4.2之后改了logo开机后屏幕闪解决办法

    荣品4412开发板升级到4.2请注意增加虚拟机内存. 问:荣品4412开发板升级到Android4.2之后,改了logo.4412板子开机后,过一会屏幕就一闪一闪,是什么原因? Android4.2编 ...

  3. 基于讯为4412开发板的Android开发流程

    讯为4412开发板  使用三星2410芯片,基于arm9架构,由于自己电脑硬件的局限,只能跑Android4.0.3系统. 1.Uboot这个直接使用官方镜像烧写就可以了,一般情况不用去重复烧写. 略 ...

  4. 【开学季】自学嵌入式开发|四核开发板|4412开发板|ARM+Android+linux技术

    淘宝店铺:迅为开发板http://arm-board.taobao.com 网站:http://www.topeetboard.com QQ咨询:2551456065 电话咨询:010-5895758 ...

  5. 迅为三星Exynos 4412开发板四核Cortex-A9ARM安卓linux开发板

    开发板光盘资料包含:原理图(PDF格式).底板PCB(Allegro格式).驱动程序源码.芯片和LCD数据手册.开发环境.产品使用手册. 4412开发板简介: iTOP-Exynos4412开发板采用 ...

  6. 【转帖】嵌入式4412开发板QT5.7编译安装到arm

    QT5.7.0+UBUNTU16.04+ARM-NONE-LINUX-GNUEABI4.8+busybox最小LINUX系统 Orandragon记录 本文转自迅为4412开发板群:http://to ...

  7. 迅为4412开发板QtE系统源码-屏幕横竖屏切换修改方法

    迅为4412开发板QtE系统源码-屏幕横竖屏切换修改方法 详情了解:http://topeetboard.com 更多了解:https://arm-board.taobao.com/ 用户在开发板上运 ...

  8. [转帖]4412开发板/4418开发板Android4.4.4实现ble功能

    本文转自迅为论坛:http://bbs.topeetboard.com ①.4418开发板实现ble功能方法: 在4418/android/device/nexell/drone2/device.mk ...

  9. 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解

    本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...

随机推荐

  1. day 10函数二

    今日内容 '''实参:调用函数,在括号内传入的实际值,值可以为常量.变量.表达式或三者的组合​*****形参:定义函数,在括号内声明的变量名,用来接受外界传来的值​'''​'''注:形参随着函数的调用 ...

  2. day01(计算机组成,进制,内存分布,操作系统)

    本周内容: 第一天: 计算机原理 操作系统 第二天: 编程语言 python入门:环境 - 编辑器 变量 基本数据类型 学习方法: 鸡汤 - 干货 wwwh : what  | why | where ...

  3. app.use和app.get,app.post区别

    express中,express的实例app: app.use(path,callback)中的callback既可以是router对象又可以是函数 app.get(path,callback)中的c ...

  4. chattr文件锁

    chattr文件锁 chattr 和lsattr [root@1 ~]# whereis chattr #---查看chattr命令 chattr: /usr/bin/chattr /usr/shar ...

  5. WPF中利用控件的DataContext属性为多个TextBox绑定数据

    工作上需要从给定的接口获取数据,然后显示在界面的编辑框中,以往肯定会一个一个的去赋值,但这样太麻烦而且效率很低,不利于维护,于是想到了数据绑定这一方法,数据绑定主要利用INotifyPropertyC ...

  6. CodeForces 140C New Year Snowm

    题目链接:http://codeforces.com/contest/140/problem/C 题目大意: 有n个雪球(半径为:r1,r2,r3.....rn):一个雪人要三个雪球.但是要求半径两两 ...

  7. flask 状态保持session和上下文session的区别

    问题场景: 在falsk项目中导入了两个session:    首先,配置文件config.py文件中 有个 flask_session扩展导入了Session  ( from flask_sessi ...

  8. Linux磁盘空间被未知资源耗尽

      在linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%, ...

  9. 2.8 hashlib模块

  10. 【并发编程】【JDK源码】J.U.C--组件FutureTask、ForkJoin、BlockingQueue

    原文:慕课网实战·高并发探索(十三):并发容器J.U.C -- 组件FutureTask.ForkJoin.BlockingQueue FutureTask FutureTask是J.U.C中的类,是 ...