/** * @brief Main program. * @param None * @retval None */ int main(void) { CMP_InitPara CMP_InitParaStruct; /* Configurate RCC */ RCC_Configuration(); /* Configurate GPIOA*/ GPIO_Configuration(); GD_EVAL_LEDInit(LED3); /* Initialize CMP1 */ CMP_ParaInit(&CMP_InitParaStruct); CMP_InitParaStruct.CMP_InvertingInput = CMP_INVERTINGINPUT_1_4VREFINT; CMP_InitParaStruct.CMP_Output = CMP_OUTPUT_TIM2IC4; CMP_InitParaStruct.CMP_OutputPolarity = CMP_OUTPUTPOLARITY_NONINVERTED; CMP_InitParaStruct.CMP_Hysteresis = CMP_HYSTERESIS_NO; CMP_InitParaStruct.CMP_OperatingMode = CMP_OPERATINGMODE_VERYLOWSPEED; CMP_Init(CMP_CHANNEL_CMP1, &CMP_InitParaStruct); /* Configurate Timer2 and Interrupt */ TIMER_Configuration(); /* Enable CMP1 and Trigger Timer2 input capture */ CMP_Enable(CMP_CHANNEL_CMP1, ENABLE); while(1); }
/** * @brief Main program. * @param None * @retval None */ int main(void) { CMP_InitPara CMP_InitParaStruct; /* Enable Clock */ RCC_Configuration(); /* Enable GPIOA analog and alternate output */ GPIO_Configuration(); /* Configure CMP1 */ CMP_ParaInit(&CMP_InitParaStruct); CMP_InitParaStruct.CMP_InvertingInput = CMP_INVERTINGINPUT_1_4VREFINT; CMP_InitParaStruct.CMP_Output = CMP_OUTPUT_NONE; CMP_InitParaStruct.CMP_OutputPolarity = CMP_OUTPUTPOLARITY_NONINVERTED; CMP_InitParaStruct.CMP_Hysteresis = CMP_HYSTERESIS_NO; CMP_InitParaStruct.CMP_OperatingMode = CMP_OPERATINGMODE_VERYLOWSPEED; CMP_Init(CMP_CHANNEL_CMP1, &CMP_InitParaStruct); /* Enable CMP1 */ CMP_Enable(CMP_CHANNEL_CMP1, ENABLE); while(1); }
/** * @brief Main program. * @param None * @retval None */ int main(void) { CMP_InitPara CMP_InitParaStruct; EXTI_InitPara EXTI_InitStruct; NVIC_InitPara NVIC_InitStruct; GD_EVAL_LEDInit(LED2); /* configure RCC */ RCC_Configuration(); /* configure GPIO */ GPIO_Configuration(); /* Initial CMP */ CMP_ParaInit(&CMP_InitParaStruct); CMP_InitParaStruct.CMP_InvertingInput = CMP_INVERTINGINPUT_1_4VREFINT; CMP_InitParaStruct.CMP_Output = CMP_OUTPUT_NONE; CMP_InitParaStruct.CMP_OutputPolarity = CMP_OUTPUTPOLARITY_NONINVERTED; CMP_InitParaStruct.CMP_Hysteresis = CMP_HYSTERESIS_NO; CMP_InitParaStruct.CMP_OperatingMode = CMP_OPERATINGMODE_VERYLOWSPEED; CMP_Init(CMP_CHANNEL_CMP1, &CMP_InitParaStruct); /* NVIC CMP1 output intertupt handle */ NVIC_InitStruct.NVIC_IRQ = ADC1_CMP_IRQn; NVIC_InitStruct.NVIC_IRQPreemptPriority = 0; NVIC_InitStruct. NVIC_IRQSubPriority = 0; NVIC_InitStruct.NVIC_IRQEnable = ENABLE; NVIC_Init(&NVIC_InitStruct); /* EXTI trigger source CMP1 output configuration */ EXTI_InitStruct.EXTI_LINE = EXTI_LINE21 ; EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Rising; EXTI_InitStruct.EXTI_LINEEnable = ENABLE; EXTI_Init(&EXTI_InitStruct); /* Enable CMP1 and enter interrupt */ CMP_Enable(CMP_CHANNEL_CMP1, ENABLE); while(1); }
/** * @brief Main program. * @param None * @retval None */ int main(void) { CMP_InitPara CMP_InitParaStruct; RCC_Configuration(); GPIO_Configuration(); DAC_Configuration(); /* Set data for DAC channel1 */ DAC_SetDAC1Data(DAC_ALIGN_12B_R ,0xA00); DAC_SoftwareTrigger_Enable(DAC1,ENABLE); /* initialize CMP1 */ CMP_ParaInit(&CMP_InitParaStruct); CMP_InitParaStruct.CMP_InvertingInput = CMP_INVERTINGINPUT_1_2VREFINT; CMP_InitParaStruct.CMP_Output = CMP_OUTPUT_NONE; CMP_InitParaStruct.CMP_OutputPolarity = CMP_OUTPUTPOLARITY_NONINVERTED; CMP_InitParaStruct.CMP_Hysteresis = CMP_HYSTERESIS_NO; CMP_InitParaStruct.CMP_OperatingMode = CMP_OPERATINGMODE_VERYLOWSPEED; CMP_Init(CMP_CHANNEL_CMP1, &CMP_InitParaStruct); /* Turn on switch between CMP1 and DAC */ CMP_Switch_Enable(ENABLE); /* Enable CMP1 */ CMP_Enable(CMP_CHANNEL_CMP1, ENABLE); while(1); }
/****************************************************************************** ** Main Function main() ******************************************************************************/ int main (void) { uint32_t i; //SystemInit(); /* Set port 1_0 to output */ LPC_GPIO1->DIR |= 1 << 0; LPC_GPIO1->SET |= 1 << 0; /* Set port 1_1 to output */ LPC_GPIO1->DIR |= 1 << 1; LPC_GPIO1->SET |= 1 << 1; /* Set port 1_2 to output */ LPC_GPIO1->DIR |= 1 << 2; LPC_GPIO1->SET |= 1 << 2; CMP_Init(); CMP_CurrentSrcControl( POWERUP ); // Current Source powered CMP_BangapControl( POWERUP ); // Band Gap powered CMP_TempSenControl( ENABLE, POWERUP ); // Temp Sensor enabled, powered for (i = 0; i < 0x80; i++); // wait for comparators stablized CMP_SelectInput( 1, POWERUP, CMP_VP, 1 ); // CMP1, powered, VP -> CMP1_IN[2] CMP_SelectInput( 1, POWERUP, CMP_VM, 2 ); // CMP1, powered, VP -> CMP1_IN[1] CMP_SetHysteresis( 1, 0 ); // CMP1, hysteresis : none CMP_SetOutput( 1, ENABLE, ASYNC ); // CMP1, enabled, async for (i = 0; i < 0x80; i++); // wait for comparators stablized if (CMP_GetOutputStatus(1)) { LPC_GPIO1->SET |= 1 << 1; } else { LPC_GPIO1->CLR |= 1 << 1; } for (i = 0; i < 0x80; i++); // wait for comparators stablized CMP_SelectInput( 1, POWERUP, CMP_VP, 2 ); // CMP1, powered, VP -> CMP1_IN[2] for (i = 0; i < 0x80; i++); // wait for comparators stablized CMP_SelectInput( 1, POWERUP, CMP_VM, 1 ); // CMP1, powered, VP -> CMP1_IN[1] CMP_SetHysteresis( 1, 0 ); // CMP1, hysteresis : none CMP_SetOutput( 1, ENABLE, ASYNC ); // CMP1, enabled, async for (i = 0; i < 0x80; i++); // wait for comparators stablized if (CMP_GetOutputStatus(1)) { LPC_GPIO1->SET |= 1 << 1; } else { LPC_GPIO1->CLR |= 1 << 1; } while(1); }