1º ta oscilando muito mesmo pegando 1000 amostras
2° to usando o BURST modo para as conversoes serem feitas por hardware
entao a cada vou lendo o valor do AD somando ao interar o numero de amostra eu converto
mas debugando vejo q sempre o OVERRUN esta em 1 ou seja indicando q perdi uma conversao
oh ocodigo ai
- Código: Selecionar todos
lerStatus= LPC_ADC->DR[0]>>31 ;
if(lerStatus) // se done BIT31 = 1 conversao completa
{
aux=(LPC_ADC->DR[0]>>6)&0x3FF; AD0=AD0+aux; //le o AD e soma ao registrador
if((++NSamplesAD0)>NUM_SAMPLES)
{
AD0=AD0/NSamplesAD0;
ValueVolts =(AD0*VREF)/1023;
ADx0=(int)(ValueVolts);
AD0=0;
NSamplesAD0=0;
lerStatus=0;
LPC_ADC->DR[0]=(1<<31);
//----------------------------------------------
if(AD0_old!=ADx0)
{
ConvIntString(ADx0,1,10,100);
AD0_old=ADx0;
}
}
}//status bit da conversao