void Timer_ISR(void){ ReiniciarTimer(); ToggleLED(LED); valor_adc = LeerADC(); valor_dac = (uint16_t) valor_adc * Voutmax; setDAC(valor_dac); }
/*==================[internal functions definition]==========================*/ void Ejecuta_RIT(){ /* Secuencia a ejecutar con la llamada de IRQ11 RIT*/ dataADC=LeerADC(); dataDAC=dataADC*ganancia; if (dataDAC>1023) /*Ajusta la saturacion*/ { PrenderLed(LEDROJO); /* Si satura enciende el led rojo*/ dataDAC=1023; } else /* si no satura apaga el led rojo*/ { ApagarLed(LEDROJO); } CargarValorDAC(dataDAC); /* Asigna el valor de salida al DAC*/ ConmutaLed(LEDVERDE); BorraFlagRIT(); /* Borra el flag de la llamada a la interrupción*/ }/*Ejecuta_RIT*/