📄 adc.c
字号:
/*************************************************************************************
** Copyright (c) 2007,XXXXXXXXXXXXXXXXXXXXXXXXXXX
** http://XXXXXXXXXXXXXXXXXX
**文件名称:ADC.C
**功能说明:LPC2142的AD转换功能函数。
**使用说明:
** 当前版本: 1.0
** 作 者: XXX
** 完成日期: 2007年xx月xx号
*************************************************************************************/
#include "lpc214x.h"
#include "common.h"
/*************************************************************************************
* 函数原型: void Adc0_Ini(void)
* 功能描述: 初始化ADCO
* 输入参数:
* 输出参数:
* 返回值 :
**************************************************************************************/
void Adc0_Ini(void)
{
PINSEL1=(PINSEL1&(~(0x03<<24)))|(0x01<<24); //选择P0.28为AIN1;
PINSEL1=(PINSEL1&(~(0x03<<26)))|(0x01<<26); //选择P0.29为AIN2;
AD0CR = (0<<0) | //选择通道
(1<<8) | //对Fpclk进行两分频
(0<<16) | //软件启动方式
(0<<17) | //10位精度
(1<<21) | //正常模式
(0<<24); //暂不启动AD转换
}
/*************************************************************************************
* 函数原型: void AD_Start(INT8U AdChnl)
* 功能描述: 启动某通道的AD转换
* 输入参数: AdChnl 通道号
* 输出参数:
* 返回值 :
**************************************************************************************/
void AD_Start(INT8U AdChnl)
{
AD0CR =AD0CR &
(~0xFF) | //清除通道选择
(1<<AdChnl) | //选择通道
(1<<24); //直接启动AD转换
}
/*************************************************************************************
* 函数原型: INT16U Get_ADData(void)
* 功能描述: 读取最后一次的AD转换结果,并停止转换
* 输入参数:
* 输出参数:
* 返回值 : 最后一次的AD转换结果
**************************************************************************************/
INT16U Get_ADData(void)
{INT16U AdData;
while((AD0GDR&0x80000000)==0) ; //等待转换完成
AdData=(AD0GDR>>6)&0x3FF; //读取转换结果
AD0CR =AD0CR&(~(1<<24)); //停止AD转换
return(AdData);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -