int main(void) { /* perform the needed initialization here */ InicializaPuertosTeclasYLeds(); DatoDAC=0; Vmax=930; T=100; t=0; Chip_SCU_DAC_Analog_Config(); //select DAC function Chip_DAC_Init(LPC_DAC); //initialize DAC Chip_DAC_SetBias(LPC_DAC, DAC_MAX_UPDATE_RATE_400kHz); Chip_DAC_SetDMATimeOut(LPC_DAC, 0xffff); Chip_DAC_ConfigDAConverterControl(LPC_DAC, DAC_CNT_ENA | DAC_DMA_ENA); Chip_RIT_Init(LPC_RITIMER); Chip_RIT_SetTimerInterval(LPC_RITIMER,1); NVIC_EnableIRQ(RITIMER_IRQn); while(1) { } return 0; }
void DAC_Init() { Chip_SCU_DAC_Analog_Config(); Chip_DAC_SetBias(LPC_DAC,0); Chip_DAC_Init(LPC_DAC); Chip_DAC_SetDMATimeOut(LPC_DAC, 0xFFFF); Chip_DAC_ConfigDAConverterControl(LPC_DAC, (DAC_CNT_ENA | DAC_DMA_ENA)); }
void initDac (void) { Chip_SCU_DAC_Analog_Config(); /* DAC Init */ Chip_DAC_Init (LPC_DAC); Chip_DAC_SetDMATimeOut (LPC_DAC, 0xFFFF); Chip_DAC_ConfigDAConverterControl (LPC_DAC, (DAC_CNT_ENA | DAC_DMA_ENA)); setDacValue (0); /* 0 <=> 0V & 1024 <=> 3.3V */ }
/** * @brief Main routine for DAC example * @return Nothing */ int main(void) { bool end_Flag = false; uint8_t bufferUART; Board_Init(); Board_DAC_Init(LPC_DAC); /* DAC Init */ Chip_DAC_Init(LPC_DAC); /* set time out for DAC*/ Chip_DAC_SetDMATimeOut(LPC_DAC, 0xFFFF); Chip_DAC_ConfigDAConverterControl(LPC_DAC, (DAC_CNT_ENA | DAC_DMA_ENA)); while (!end_Flag) { DEBUGOUT(WelcomeMenu); while (!end_Flag) { bufferUART = 0xFF; bufferUART = DEBUGIN(); if (bufferUART == 'c') { DEBUGOUT(SelectMenu); bufferUART = 0xFF; while (bufferUART == 0xFF) { bufferUART = DEBUGIN(); if ((bufferUART != '1') && (bufferUART != '2') && (bufferUART != '3')) { bufferUART = 0xFF; } } switch (bufferUART) { case '1': /* Polling Mode */ App_Polling_Test(); break; case '2': /* Interrupt Mode */ App_Interrupt_Test(); break; case '3': /* DMA mode */ App_DMA_Test(); break; } break; } else if (bufferUART == 'x') { end_Flag = true; DEBUGOUT("\r\nDAC demo terminated!"); } } } return 0; }
void Board_DAC_Init(void) { Chip_SCU_DAC_Analog_Config(); Chip_DAC_Init(LPC_DAC); Chip_DAC_SetBias(LPC_DAC, DAC_MAX_UPDATE_RATE_400kHz); Chip_DAC_ConfigDAConverterControl(LPC_DAC, DAC_CNT_ENA | DAC_DMA_ENA); // Enable DMA Chip_DAC_SetDMATimeOut(LPC_DAC, 0xffff); Chip_GPDMA_Init(LPC_GPDMA); NVIC_DisableIRQ(DMA_IRQn); NVIC_SetPriority(DMA_IRQn, ((0x01 << 3) | 0x01)); NVIC_EnableIRQ(DMA_IRQn); dacInfo.flagCyclic=0; dacInfo.dmaChannelDAC=0xFF; }
void Board_DAC_setSampleRate(uint32_t freq) { uint16_t value; if(freq < 3112) { value=0xFFFF; dacInfo.flagEnableBias=0; } else if( freq >= 3112 && freq < 400000) { dacInfo.flagEnableBias=0; value = 204000000l/freq; } else { dacInfo.flagEnableBias=1; value = 204000000l/freq; } Chip_DAC_SetDMATimeOut(LPC_DAC, value); }