Maxim-integrated DS4830A Optical Microcontroller Manuel d'utilisateur Page 64

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 240
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 63
DS4830A User’s Guide
64
ADST_bit.ADCFG = 0; //set ADDATA to data buffer
ADADDR_bit.ADSTART = 0; //start sequence with ADCFG [0]
ADADDR_bit.ADEND = 15; //end sequence with ADCFG [15]
ADST_bit.ADCONV = 1; //start the conversions
while (1)
{
while (!ADST_bit.ADDAI); //wait for conversions to complete
ADST_bit.ADDAI = 0;
ADST_bit.ADIDX = 0; //set ADDATA to data buffer [0]
for (iCount = 0; iCount < 16; iCount++)
ch0 [iCount]= ADDATA; //read and store ch0 voltage to variable
}
7.3.3Continuous Conversion of 16 Samples of Ch0 Using ADC Averaging
PINSEL = 0x0003; //Configure Pins as ADC Ch0 (Diff)
REFAVG_bit.INTREF = 1; //Enable ADC internal reference
for(iCounter = 0; iCounter < 1000; iCounter++); //Wait ~1ms to settle ADC internal reference
ADCN_bit.ADCONT = 1; //run a continuous conversion sequence
ADST_bit.ADCFG = 1; //set ADDATA as configuration (ADCFG)
ADST_bit.ADIDX = 0; //ADIDX = 0, set to ADCFG [0]
ADDATA = 0x0020; //ADCFG [0]: Differential voltage, CH0, 1.2 V FS, Right Aligned
ADST_bit.ADCFG = 0; //set ADDATA to data buffer
ADST_bit.ADCAVG = 1; //set ADDATA to data buffer
ADDATA = 0x0003; // Average of 16 samples of Ch0
ADST_bit.ADCAVG
= 0;
ADADDR_bit.ADSTART = 0; //start sequence with ADCFG[0]
ADADDR_bit.ADEND = 0; //end sequence with ADCFG[0]
ADST_bit.ADCONV = 1; //start the conversions
while (1)
{
while (!ADST1_bit.ADDAI); //wait for conversions to complete
ADST_bit.ADIDX = 0; //set ADDATA to data buffer [0]
ch0 = ADDATA; //read and store ch0 voltage to variable
ADST1_bit.ADDAI = 0; //clear ADDAI flag
}
Vue de la page 63
1 2 ... 59 60 61 62 63 64 65 66 67 68 69 ... 239 240

Commentaires sur ces manuels

Pas de commentaire