The EMU_IRQHandler provided by TEMPDRV will call TEMPDRV_IRQ_Handler. Configure EMU_CUSTOM_IRQ_HANDLER = true if the application wants to implement its own EMU_IRQHandler. This is typically needed if one of the non-temperature related EMU interrupt flags are in use.

Calculate and get the current core clock frequency based on the current configuration. Assuming that the SystemCoreClock global variable is maintained, the core clock frequency is stored in that variable as well. This function will however calculate the core clock based on actual HW configuration. It will also update the SystemCoreClock global variable.

Note

This is an EFR32 proprietary function, not part of the CMSIS definition.

CMSIS defines a global variable SystemCoreClock that shall hold the core frequency in Hz. If the core frequency is dynamically changed, the variable must be kept updated in order to be CMSIS compliant.

Notice that only if changing the core clock frequency through the EFR CMU API, this variable will be kept updated. This function is only provided for CMSIS compliance and if a user modifies the the core clock outside the CMU API.

When TIMER0 expires the number of pulses on TIMER1 is inserted into channelValues. If this values is bigger than what is recorded in channelMaxValues, channelMaxValues is updated. Finally, the next ACMP channel is selected.