www.pudn.com > PMSM.zip > DSP281x_Adc.c, change:2003-09-11,size:2137b


//########################################################################### 
// 
// FILE:	DSP281x_Adc.c 
// 
// TITLE:	DSP281x ADC Initialization & Support Functions. 
// 
//########################################################################### 
// 
//  Ver | dd mmm yyyy | Who  | Description of changes 
// =====|=============|======|=============================================== 
//  1.00| 11 Sep 2003 | L.H. | Changes since previous version (v.58 Alpha) 
//      |             |      | ADC_usDELAY changed from 5000L to 8000L 
//########################################################################### 
 
#include "DSP281x_Device.h"     // DSP281x Headerfile Include File 
#include "DSP281x_Examples.h"   // DSP281x Examples Include File 
 
#define ADC_usDELAY  8000L 
#define ADC_usDELAY2 20L 
 
//--------------------------------------------------------------------------- 
// InitAdc:  
//--------------------------------------------------------------------------- 
// This function initializes ADC to a known state. 
// 
void InitAdc(void) 
{ 
	extern void DSP28x_usDelay(Uint32 Count); 
	 
    // To powerup the ADC the ADCENCLK bit should be set first to enable 
    // clocks, followed by powering up the bandgap and reference circuitry. 
    // After a 5ms delay the rest of the ADC can be powered up. After ADC 
    // powerup, another 20us delay is required before performing the first 
    // ADC conversion. Please note that for the delay function below to 
    // operate correctly the CPU_CLOCK_SPEED define statement in the 
    // DSP28_Examples.h file must contain the correct CPU clock period in 
    // nanoseconds. For example: 
 
	AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x3;	// Power up bandgap/reference circuitry 
	DELAY_US(ADC_usDELAY);                  // Delay before powering up rest of ADC 
	AdcRegs.ADCTRL3.bit.ADCPWDN = 1;		// Power up rest of ADC 
	DELAY_US(ADC_usDELAY2);                 // Delay after powering up ADC 
}	 
 
//=========================================================================== 
// No more. 
//===========================================================================