?? lle_adc.c
字號:
/*******************************************************************************/
/**
Copyright (c) 2007 Freescale Semiconductor
Freescale Confidential Proprietary
\file lle_ADC.c
\brief Driver for basic S12XE ADC operation
\author Freescale Semiconductor
\author B05114
\version 0.1
\date April/2007
*/
/*******************************************************************************/
/** S12X derivative information */
#include <MC9S12XEP100.h>
/** Common defines and macros */
#include <hidef.h>
/** Variable types and common definitions */
#include "typedefs.h"
/*******************************************************************************/
/**
* \brief ADC initialization
* \author B05114
* \param void
* \return void
*/
void lle_Init_ADC(void)
{
ATD0CTL1_SRES = 0x02; /* 12 bit resolution */
ATD0CTL1_SMP_DIS = 1; /* Discharge capacitor before sampling */
ATD0CTL2_ETRIGE = 0; /* Disable external trigger */
ATD0CTL2_AWAI = 0; /* No ATD conversions in stop mode */
ATD0CTL3_DJM = 1; /* Result right justified */
ATD0CTL3_S8C = 0; /* 1 conversion per sequence */
ATD0CTL3_S4C = 0;
ATD0CTL3_S2C = 0;
ATD0CTL3_S1C = 1;
ATD0CTL5_SCAN = 0; /* Single conversion sequence */
ATD0CTL5_MULT = 0; /* Sample one channel */
}
/*******************************************************************************/
/**
* \brief ADC calibration
* \author B05114
* \param void
* \return void
*/
void lle_Calibrate_ADC(void)
{
}
/*******************************************************************************/
/**
* \brief ADC single conversion SW trigger
* \author B05114
* \param const unsigned int chan
* \return unsigned int
*/
UINT16 lle_ADC(UINT8 u8ADC_chan)
{
ATD0CTL5_Cx = u8ADC_chan;
while(!ATD0STAT0_SCF); /* Wait for end of conversion */
ATD0STAT0_SCF = 1; /* Clear flag */
return ATD0DR0;
}
/*******************************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -