S3C2440 ADC详解
来源:互联网 发布:qq好友定位软件 编辑:程序博客网 时间:2024/05/21 18:48
S3C2440拥有八通道的十位ADC, 最大转换率为2.5MHz A/D转换器时钟下的500KSPS。A/D转换器支持片上采样-保持功能和掉电模式的操作。
八个通道中有四个通道适用于电阻屏的触摸屏触摸检测,另外四个是模拟输入,分别是A[0:3],
ADC的使用极其简单,选择时钟à选择通道à启动转换à转换完成
主要用到如下几个寄存器
负责选择时钟通道以及启动ADC
这里读取ADC的值
注意这一位,这说明转换完成读取的时候还可以触发转换,也就是相当于连续转换
Adc.c
#include "adc.h"//=====================================================================//名称:ADCSelect(int ch, U32 preScaler)//功能:选择转换通道,转换器预分频值设置//参数: ch :转换通道 preScaler:预分频值//返回值:无//=======================================================================void ADCSelect(int ch, u8 preScaler){rADCCON=(1<<14)|(preScaler<<6)|(ch<<3);//选择通道,选择分频数 启动转换}//=======================================================================//名称:ADEnable()//功能:采用置位使能方式启动AD转换,16次采样取平均值//参数: 无//返回值: 转换后的值//=======================================================================u16 ADEnable(void){int i;int val=0;for(i=0;i<16;i++){rADCCON |=0x1;//使能ADC转换while(rADCCON & 0x1); //判断使能ADC转换后被清零while(!(rADCCON &0x8000)); //等待转换结束val +=(rADCDAT0 & 0x3ff);//读取ADC转换的值}val = val>>4;//计算ADC转换值return val;}//=======================================================================//名称:ADRead()//功能:采用读控制器的方式启动AD转换//参数: 无//返回值:转换后的值//=======================================================================u16 ADRead(void){int i;int val=0;rADCCON |=0x2;//ADC转换通过读操作来启动for(i=0;i<16;i++){rADCCON |=0x1;//使能ADC转换while(rADCCON & 0x1); //判断使能ADC转换后被清零while(!(rADCCON &0x8000)); //等待转换结束val +=(rADCDAT0 & 0x3ff);//读取ADC转换的值}val = val>>4;//计算ADC转换值return val;}
Adc.h
#ifndef __ADC_H#define __ADC_H#include "2440addr.h"#include "def.h"void ADCSelect(int ch, u8 preScaler);u16 ADEnable(void);u16 ADRead(void);#endif
0 0
- S3C2440 ADC详解
- S3C2440 ADC
- S3C2440-ADC
- S3C2440的ADC驱动
- S3C2440之ADC
- s3c2440 ADC驱动
- ARM9(S3C2440) ADC
- s3c2440 ADC驱动
- s3c2440 的ADC驱动
- s3c2440 裸奔ADC
- ARM9(S3C2440) ADC
- S3C2440的ADC接口
- S3C2440之ADC分析
- s3c2440 ADC驱动研究
- s3c2440 ADC 应用程序编程
- S3C2440之ADC
- s3c2440之ADC 触摸屏操作
- S3C2440的ADC实例讲解
- Gartner预测2015年的十大IT战略发展趋势
- STL之优先队列
- java入门-标示符与关键字和基本数据类型
- Android JNI使用方法(“动态注册”)
- [leetcode] Word Break
- S3C2440 ADC详解
- Java框架JSON-RPC项目demo代码实战
- break和continue的区别(复习)
- 112家IT公司薪水一览表
- JAVA之TCP网络通信一个小例子
- C/C++ 关于异或
- 项目四 撞错体验
- 快速寻找给定上限内质数的3个算法
- EXIF 方向参数 Orientation