46 #include "fsl_lptmr.h" 47 #include "fsl_adc12.h" 48 #include "clock_config.h" 49 #include "fsl_debug_console.h" 54 #include "issdk_hal.h" 55 #include "gpio_driver.h" 61 #define dp5004_odr_callback PWT_LPTMR0_IRQHandler 63 #define adc12_irq_callback ADC0_IRQHandler 66 #define MPXV5004DR_ODR_ms 1000U 81 LPTMR_ClearStatusFlags(LPTMR0, kLPTMR_TimerCompareFlag);
96 lptmr_config_t lptmrConfig;
97 adc12_config_t adc12ConfigStruct;
100 LPTMR_GetDefaultConfig(&lptmrConfig);
101 LPTMR_Init(LPTMR0, &lptmrConfig);
102 LPTMR_SetTimerPeriod(LPTMR0, MSEC_TO_COUNT(
MPXV5004DR_ODR_ms, CLOCK_GetFreq(kCLOCK_LpoClk)));
103 LPTMR_EnableInterrupts(LPTMR0, kLPTMR_TimerInterruptEnable);
104 EnableIRQ(PWT_LPTMR0_IRQn);
105 LPTMR_StartTimer(LPTMR0);
109 CLOCK_SetIpSrc(kCLOCK_Adc0, kCLOCK_IpSrcSircAsync);
110 EnableIRQ(ADC0_IRQn);
111 ADC12_GetDefaultConfig(&adc12ConfigStruct);
112 adc12ConfigStruct.clockSource = kADC12_ClockSourceAlt0;
113 adc12ConfigStruct.resolution = kADC12_Resolution12Bit;
114 ADC12_Init(ADC0, &adc12ConfigStruct);
116 ADC12_EnableHardwareTrigger(ADC0,
false);
118 if (kStatus_Success != ADC12_DoAutoCalibration(ADC0))
120 PRINTF(
"ADC calibration failed!\r\n");
132 uint16_t pressurePascals;
139 PRINTF(
"\r\n MPXV5004DP ADC based Interrupt Example\r\n");
162 PRINTF(
"\r\n Differential Pressure Value: %dPa\r\n", pressurePascals);
#define adc12_irq_callback
void(* pin_init)(pinID_t aPinId, gpio_direction_t dir, void *apPinConfig, gpio_isr_handler_t aIsrHandler, void *apUserData)
#define BOARD_BootClockRUN
volatile bool bAdcCompletedFlag
void(* toggle_pin)(pinID_t aPinId)
void KE15Z_LPTMR0_ADC0_Initialize(void)
void BOARD_InitDebugConsole(void)
#define MPXV5004DR_ODR_ms
adc12_channel_config_t gAdcChannelConfigStruct
volatile uint32_t gAdcConversionValue
gpioHandleKSDK_t GREEN_LED
#define ASK_USER_TO_RESUME(x)
#define MPXVDP5004_ADC12_CHANNEL
#define MPXVDP5004_ADC12_CHANNEL_GROUP
GENERIC_DRIVER_GPIO Driver_GPIO_KSDK
#define dp5004_odr_callback
Access structure of the GPIO Driver.
#define MPXV5004DP_PRESSURE_FROM_ADC_VALUE(x)
status_t SMC_SetPowerModeWait(void *arg)
Configures the system to WAIT power mode. API name used from Kinetis family to maintain compatibility...
int main(void)
Main function.
void BOARD_InitPins(void)
Configures pin routing and optionally pin electrical features.