打印

嵌入式ADC驱动编写及测试

[复制链接]
272|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Spikess|  楼主 | 2018-8-22 21:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
每一次做项目都会遇到ADC驱动编写,今天我写个小程序来讲讲这个问题。

内容:

编写一个字符驱动程序获取ADC通道0的电压值。

掌握ADC设备驱动的编写及平台设备驱动的编写

平台:





    主机:Ubuntu 10.10

       目标机:FS_S5PC100

       目标机内核版本:2.6.35

       交叉编译器版本:arm-none-linux-gnueabi-gcc-4.5.1

步骤

注意:在实验过程中"$"后的操作在主机上,"#"后的操作在开发板上

1、  修改内核重新编译内核

修改arch/arm/mach-s5pc100/mach-smdkc100.c

添加如下内容:

struct platform_device s3c_device_adc_convert = {

       .name                    = "adc_convert",

       .id                        = -1,

       .dev.parent             = &s3c_device_adc.dev,

};


在smdkc100_devices结构体数组中添加如下内容

&s3c_device_adc,

&s3c_device_adc_convert,

$ make zImage

2、  拷贝模块到linux下

将实验代码中的s5pc100_adc拷贝到/home/linux目录下并进入s5pc100_adc目录。

3、  编译模块

$ make

4、  编译应用程序

$ arm-none-linux-gnueabi-gcc test.c –o test

5、  拷贝驱动及应用程序到目标板上

$ cp s5pc100_adc.ko test /source/rootfs

6、  启动开发板后加载模块

# insmod s5pc100_adc.ko

7、  创建设备节点

# mknod /dev/adc c 250 0

8、  测试

# ./test

调节变阻器,终端会打印如下信息:

<img id="aimg_how9F"  class="zoom" file="http://files.chinaaet.com/images/blog/2014/12/14/1071753852538.png"  lazyloadthumb="1" border="0" alt="" />

希望能够举一反三,遇到这种问题都能够很好的解决。









——————————————————————————————————————

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

417

主题

421

帖子

0

粉丝