//*************************************************************** //* ALGORITMO QUE TEM O OBJETIVO REALIZAR CONVERSÕES A/D * //* E EM SEGUIDA TRANSFERIR ESSAS AMOSTRAS SERIALMENTE VIA USB * //*************************************************************** int i; //VARIÁVEL PARA O BLOCO FOR #define BUFFER 1000 //TAMANHO DO BUFFER uint16_t values[BUFFER]; //ARRAY DE AMOSTRAS // BLOCO DE CONFIGURAÇÃO //------------------------------------------------------------------------------------- void setup(){ analogReadResolution(12); // CONFIGURA A RESOLUÇÃO DO CONVERSOR AD PARA 12 BITS ADC->ADC_MR |= 0x80; // UTILIZA O CONVERSOR AD EM MODO CONTÍNUO ADC->ADC_CHER = 0X80; // HABILITA O PINO DE ENTRADA A0 (ANALÓGICO) SerialUSB.begin(0); // INICIALIZA COMUNICAÇÃO USB while(!SerialUSB);} // ESPERA ATÉ A CONEXÃO SER ESTABELECIDA // BLOCO DE CONVERSÃO E AQUISIÇÃO DE DADOS //------------------------------------------------------------------------------------- void loop(){ for(i = 0; i < BUFFER; i++) { while((ADC->ADC_ISR & 0x80)==0); //ESPERA PELA CONVERSÃO values[i]=(uint16_t)(ADC->ADC_CDR[7]);} //ADICIONA CADA AMOSTRA NO BUFFER // BLOCO QUE TRANSMITE DADOS PELA USB //---------------------------------------------------------------------------------------- SerialUSB.write((uint8_t*)values, 512);} // TRANSMITE PELA USB