#include "DSP2833x_Device.h"
#include "DSP2833x_Examples.h"
/* Cdigo */
void main(void)
{
/* Cdigo */
// Reloj de perifricos
SysCtrlRegs.HISPCP.all = 0x4; // Si HSPCLK!=0 {HSPCLK = SYSCLKOUT/(2*valor)}, Si HSPCLK=0
{HSPCLK = SYSCLKOUT}
// Inicializacin (Rutina ADC_cal, ADC bandgap, reference power down, y power down)
InitADC();
// Configuraciones de reloj (perodo de muestreo)
AdcRegs.ADCTRL3.bit.ADCCLKPS = 0x3; // Fclk = HSPCLK/[2*(1+3)]
AdcRegs.ADCTRL1.bit.CPS = 1; // ADCLK = Fclk/(1+1);
// Tiempo (ventana) de muestreo
AdcRegs.ADCTRL1.bit.ACQ_PS = 0x7; // Ts = (1+7)*(1/ADCLK)
// Configuraciones de funcionamiento
AdcRegs.ADCTRL3.bit.SMODE_SEL = 0; // 0->Secuencial, 1->Simultneo
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; // 0->Secuencia dual, 1->Cascada
AdcRegs.ADCTRL1.bit.CONT_RUN = 0; // 0->Start/Stop, 1->Continuo
AdcRegs.ADCTRL1.bit.SEQ_OVRD = 0; // 0->Wrap around, 1->Sin wrap around
// Secuencia de conversin
AdcRegs.ADCCHSELSEQ1.all = 0x5429;
AdcRegs.ADCCHSELSEQ2.CONV04 = 0x3;
AdcRegs.ADCCHSELSEQ2.CONV05 = 0xA;
AdcRegs.ADCCHSELSEQ2.CONV06 = 0xB;
AdcRegs.ADCCHSELSEQ2.CONV07 = 0xC;
// Nmero de conversiones (MAX_CONV1 + 1)
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0x7; // MAX_CONV1, MAX_CONV2->SEQ1, SEQ2
MAX_CONV1->Cascada
/* Cdigo */
do
{
/* Cdigo */
resultado[0] = AdcRegs.ADCRESULT0>>4;
resultado[1] = AdcRegs.ADCRESULT1>>4;
/* ... */
/* Cdigo */
}
while(1);
}
-1-