`
tomhibolu
  • 浏览: 1396234 次
文章分类
社区版块
存档分类
最新评论

Linux驱动修炼之道-ADC驱动

 
阅读更多

努力成为linux kernel hacker的人李万鹏原创作品,为梦而战。转载请标明出处

http://blog.csdn.net/woshixingaaa/archive/2011/05/18/6429002.aspx

S3C2440内部ADC结构图:

对于s3c2440来说,实现A/D转换比较简单,主要应用的是ADC控制寄存器ADCCONADC转换数据寄存器ADCDAT0。寄存器ADCDAT0的低10位用于存储A/D转换后的数据。寄存器ADCCON的第15位用于标识A/D转换是否结束。第14位用于使能是否进行预分频,而第6位到第13位则存储的是预分频数值,因为A/D转换的速度不能太快,所以要通过预分频处理才可以得到正确的A/D转换速度,如我们想要得到A/D转换频率为1MHz,则预分频的值应为49。第3位到第5位表示的是A/D转换的通道选择。第2位可以实现A/D转换的待机模式。第1位用于是否通过读取操作来使能A/D转换的开始。第0位则是在第1位被清零的情况下用于开启A/D转换。

驱动代码:

测试代码:

实验效果:

分享到:
评论

相关推荐

    Linux常见驱动源码分析(kernel hacker修炼之道全集)--李万鹏

    Linux驱动修炼之道-ADC驱动.pdf Linux内核访问外设I O资源的方式.pdf LINUX内核USB子系统学习笔记之初识USB.pdf kernel hacker修炼之道之驱动-流水灯.pdf kernel hacker修炼之道之驱动-混杂设备.pdf ...

    linux驱动修炼之道-- 李万鹏

    《Linux驱动修炼之道》是李万鹏先生撰写的一本深入探讨Linux驱动程序开发的专业书籍,旨在帮助读者理解和掌握Linux系统下的驱动程序设计与实现。这本书的内容涵盖了从基础概念到高级技术,适合对嵌入式系统、Linux...

    linux-adc-key驱动.rar

    在给定的“linux-adc-key驱动.rar”文件中,包含的是针对Linux 4.4内核的ADC驱动实现,特别针对RK3308处理器的ADC驱动编写和设备树配置。RK3308是一款基于ARM Cortex-A53架构的系统级芯片,常用于物联网(IoT)设备和...

    超完整的STM32的ADC模块驱动程序完整工程-ADC.rar

    在本项目中,"超完整的STM32的ADC模块驱动程序完整工程-ADC.rar"提供了完整的ADC驱动程序代码,便于用户快速开发基于STM32的ADC应用。 STM32的ADC模块特点: 1. **多通道**:STM32的ADC通常支持多个输入通道,可以...

    xMega官方驱动与示例程序-ADC

    xMega官方驱动与示例程序-ADC

    s3c2410-adc.rar_adc linux_linux AD驱动_linux adc_s3c2410_s3c2410 a

    标签中的“**linux_ad驱动**”和“**linux_adc**”强调了这个驱动程序是专为Linux操作系统编写的,而“**s3c2410_adc**”则指明它是针对S3C2410 ADC特性的。在Linux内核中,设备驱动通常被组织成模块,可以通过...

    linux_adc_test驱动

    Linux ADC Test驱动是针对TQ2440开发板进行的一种硬件模拟数字转换(ADC)功能测试。在进行这项实验之前,必须确保已从开发板上移除了原有的ADC驱动模块,以便于我们的测试驱动能够正确地与硬件交互,提供纯净的测试...

    s3c2410-adc.rar_linux adc

    本压缩包“s3c2410-adc.rar_linux adc”包含了针对该处理器的ADC转换驱动程序,主要文件为“s3c2410-adc.c”。 在Linux系统中,驱动程序是操作系统与硬件设备之间的桥梁,它负责抽象硬件功能并提供给操作系统和其他...

    generic-adc-battery.rar_generic_iio_linux iio

    本篇将深入探讨“generic-adc-battery.rar”压缩包中涉及的“generic iio linux_iio”相关知识,主要围绕Linux系统下的通用ADC(Analog-to-Digital Converter,模拟到数字转换器)电池驱动程序进行详尽解析。...

    高精度电子秤ADC芯片HX711的LINUX驱动和应用程序

    标题中的“高精度电子秤ADC芯片HX711的LINUX驱动和应用程序”涉及的核心知识点是ADC(模拟-to-数字转换器)技术,特别是针对HX711这款芯片的使用,以及在Linux操作系统下的驱动程序开发和应用软件设计。下面将详细...

    ADC225驱动.rar

    对于企业用户来说,"ADC225驱动"的通用性意味着它可以适应不同的工作环境,无论是Windows还是Linux操作系统,都能找到相应的驱动支持,降低了设备的管理和维护成本。此外,对于那些需要大量打印和扫描的企业,一个...

    S3C2410-ADC.rar_linux adc

    标签"linux_adc"指出了这个内容专注于Linux环境下的ADC操作,这意味着我们需要关注如何在Linux内核中集成和使用ADC驱动,以及如何在用户空间通过系统调用或者用户级库来访问ADC数据。 压缩包内的文件"S3C2410-ADC.C...

    adc.rar_linux_linux AD驱动_linux ad _linux adc

    在给定的“adc.rar_linux_linux AD驱动_linux ad_linux adc”压缩包中,我们主要关注的是针对Linux 2.6.37.4内核版本的AD驱动程序及其相关的测试代码。 Linux内核的驱动程序通常分为字符驱动和块驱动,ADC驱动属于...

    at91-adc.rar_adc AT91_adc linux_at91 adc_at91_a_at91_adc

    AT91 ADC是针对AT91微控制器系列的模拟数字转换器(ADC)模块,尤其在Linux操作系统下使用的驱动程序。这个"at91-adc.rar"压缩包包含了一个专为AT91SAM9260处理器设计的ADC驱动,该驱动已经过实际测试,可以确保在...

    S3C2440 linux adc 驱动

    在嵌入式Linux系统中,ADC(Analog-to-Digital Converter)驱动是连接硬件ADC控制器与上层应用程序的关键部分。S3C2440是一款由Samsung公司设计的基于ARM920T内核的微处理器,广泛应用于各种嵌入式系统中,包括便携...

    SAR-ADC教程带工程文件

    **SAR-ADC教程带工程文件详解** **一、SAR-ADC介绍** SAR(Successive Approximation Register,逐次比较型模数转换器)是一种常用的数字模拟转换器(ADC),它通过逐位比较的方式将模拟信号转换为数字信号。在数字...

    STC12C5A60S2-ADC-中断读ADC.zip_5NN_STC12C5A-ADC-中断读ADC_STC12单片机_XBK

    6. **文件结构**:压缩包中的"STC12C5A60S2-ADC-中断读ADC"可能包含C语言源代码文件、头文件、配置文件等,这些文件提供了实现中断读取ADC的完整程序示例。开发者可以通过阅读和理解这些代码,学习如何在实际项目中...

    Linux-2.6.32.2内核在mini2440上的移植(七)-添加ADC驱动.docx

    然后,作者结合博主黄刚嵌入式Linux之我行一S3C2440上的ADC驱动实例开发讲解的ADC驱动程序,修改了驱动程序,通过s3c24xx-adc.h文件中提供的宏修改通道获取采样数据。 驱动程序的文件名为mini2440_adc.c,位于...

    ADC.rar_LPC2148 ADC_LPC2148 uart_LPC2148-ADC_lpc2148

    LPC2148驱动ADC ----- A/D模数转换 这个工作区 每个工程包含3个配置选项 ISP_iFlash_Hex - 生成.Hex格式的目标文件 JLINK_iflash - 通过JLINK来烧写内部Flash的配置 JLINIX_iram - 通过JLINK来在内部RAM中调试 工程...

Global site tag (gtag.js) - Google Analytics