コード例 #1
0
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;


}
コード例 #2
0
ファイル: dac.c プロジェクト: dani6rg/danielgarcia
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));
}
コード例 #3
0
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	*/

}
コード例 #4
0
ファイル: dac.c プロジェクト: edarring/lpcopen
/**
 * @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;
}
コード例 #5
0
ファイル: board.c プロジェクト: ernesto-g/micropython
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;
}
コード例 #6
0
ファイル: board.c プロジェクト: ernesto-g/micropython
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);
}