📄 adc12.c
字号:
/****************************************Copyright (c)**************************************************
**
** STR710 development team
**
**
**
**
**--------------文件信息--------------------------------------------------------------------------------
** 文 件 名: adc.c
** 创 建 人: lhl
** 创建日期: 2006年5月10日
** 描 述: 该文件提供XTI相关的软件操作功能
**
**--------------历史版本--------------------------------------------------------------------------------
** 创 建 人: lhl
** 版 本: V1.0
** 日 期: 2006年5月10日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#include "adc12.h"
#include "config.h"
#define ADC_TEST 1
#if EN_ARM_ADC12 > 0 //决定是否编译该文件
/******************************************* 全局变量定义 ***********************************************/
/******************************************* 局部函数声明 ***********************************************/
/*********************************************************************************************************
;** 函数名称: ADC12_Reset
;** 功能描述: 系统复位时ADC12配置
;**
;** 参 数: 无
;** 返 回 值: 无
;**
;** 作 者: lhl
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
void ADC12_Reset(void)
{
//Initiate ADC12 registers to their reset values
ADC12_CSR = 0x00;
ADC12_CPR = 0x01;
}
/*********************************************************************************************************
;** 函数名称: ADC12_PrescalerConfig
;** 功能描述: 配置AD转换所需的prescaler
;**
;** 参 数: adc12_clk: Sampling frequency.
;** 返 回 值: 无
;**
;** 作 者: lhl
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
void ADC12_PrescalerConfig(UWORD32 adc12_clk)
{
//Update the Prescaler Register
ADC12_CPR = (volatile UWORD16)(RCCU_AnyClockObtain(RCCU_PCLK)/(adc12_clk*512*4));
}
/*********************************************************************************************************
;** 函数名称: ADC12_ITConfig
;** 功能描述: 禁止或允许ADC中断
;**
;** 参 数: new_status: ENABLE----允许ADC中断
;** DISABLE---禁止ADC中断
;** 返 回 值: 无
;**
;** 作 者: lhl
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
void ADC12_ITConfig (CONFIG_STATUS_T new_status)
{
if (new_status == ENABLE)
{
if (ADC12_CSR & 0x0040) // Test the conversion mode
{
switch (ADC12_CSR & 0x30) //Set interrupt bit equivalent to the channel selected
{
case 0x00 : ADC12_CSR |= ADC12_IT0_MASK; break;
case 0x10 : ADC12_CSR |= ADC12_IT1_MASK; break;
case 0x20 : ADC12_CSR |= ADC12_IT2_MASK; break;
case 0x30 : ADC12_CSR |= ADC12_IT3_MASK; break;
}
}
else
ADC12_CSR |= ADC12_IT_MASK; //Set all interrupt bits in case of round robin mode
}
else
ADC12_CSR &= ~ADC12_IT_MASK; //Clear all interrupt bits
}
#endif //EN_ARM_ADC12 > 0
/****************************************end of file*******************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -