|
- /*****************Í·Îļþ*************************/
- #include "fsl_common.h"
- #include "fsl_port.h"
- #include "fsl_gpio.h"
- #include "adc_Interrupt.h"
- #include "fsl_adc16.h"
-
-
- uint32_t g_Adc16ConversionValue = 0;
- uint32_t g_Adc16Count = 0;
-
- /*****************ADC³õʼ»¯*************************/
- void ADC16_InterrputInit() //ADC³õʼ»¯
- {
- adc16_config_t adc16ConfigStruct;
- adc16_channel_config_t adc16ChannelConfigStruct;
- EnableIRQ(ADC0_IRQn);
- ADC16_GetDefaultConfig(&adc16ConfigStruct);
- adc16ConfigStruct.enableContinuousConversion = true;
- ADC16_Init(ADC0, &adc16ConfigStruct);
- ADC16_EnableHardwareTrigger(ADC0, false); /* Make sure the software trigger is used. */
- adc16ChannelConfigStruct.channelNumber = 2u;
- adc16ChannelConfigStruct.enableInterruptOnConversionCompleted = true; /* Enable the interrupt. */
- ADC16_SetChannelConfig(ADC0, 0u, &adc16ChannelConfigStruct);
- }
-
- uint32_t adc_ReturnValue()
- {
- return g_Adc16ConversionValue;
- }
-
- void ADC0_IRQHandler(void)
- {
-
- /* Read conversion result to clear the conversion completed flag. */
- g_Adc16ConversionValue = ADC16_GetChannelConversionValue(ADC0, 0u);
- g_Adc16Count++;
- g_Adc16Count %= 1000;
- SDK_ISR_EXIT_BARRIER;
- }
|