Professional Documents
Culture Documents
//
// M A I N
//
////////////////////////////////////////////////////////////////////////////////
///////////////////
void main(void) {
int adc0[];
char voltage[9];
setup_adc_ports(AN0|VSS_VDD);//para escoger el canal cero y el vss y vdd
SETUP_ADC(ADC_CLOCK_INTERNAL);//la frecuencia de muestreo es 2-6us
SET_ADC_CHANNEL(0);
delay_ms(500);
usb_init();
usb_task();
usb_wait_for_enumeration();
enable_interrupts(global);
while (TRUE){
if(usb_enumerated()){
if (usb_kbhit(1)){
usb_get_packet(1, recbuf, Lenbuf);
if(RecCommand==COMMAND_FIRMWARE){
usb_put_packet(1,Version,5,USB_DTS_TOGGLE);
}
if(RecCommand==COMMAND_ADC){
adc0 = read_adc(); //para leer el valor del adc0
enciende(LED_VERDE); //enciende un led solo para verificar que se realiz
o bien la comparacion
sprintf(voltage, "%f", (float)adc0 * 0.1960784); //esta instruccion nos
permite convertir el valor del adc en un string.
voltage[4] = '\0';
usb_put_packet(1,voltage,4,USB_DTS_TOGGLE);//con esta instruccion mandam
os el arrglo que se creo en la instruccion anterior
}
}
}
}
}