Hi team
I am using Clock_getTicks() inside a GPIO interrupt to measure fast signal here. But from time to time, I got some wrong measurements. (guessing about 1%). I would like to increase the priority level of this GPIO and see if it fix it.
But I can't find reference regarding the value of .intPriority that I can set it to. (eg 0 to 7? 0 to 15? etc) What document do I need to read to find these information?
Thanks team!
const GPIOCC26XX_Config GPIOCC26XX_config = { .pinConfigs = (GPIO_PinConfig *)gpioPinConfigs, .callbacks = (GPIO_CallbackFxn *)gpioCallbackFunctions, .numberOfPinConfigs = CC2640R2_LAUNCHXL_GPIOCOUNT, .numberOfCallbacks = sizeof(gpioCallbackFunctions)/sizeof(GPIO_CallbackFxn), /* I know I can change priority here */ .intPriority = (~0) };
/*! * @brief GPIO device specific driver configuration structure * * The device specific GPIOCC26XX_Config structure that tells the GPIO * driver where the two aforementioned arrays are and the number of elements * in each. The interrupt priority of all pins configured to generate * interrupts is also specified here. Values for the interrupt priority are * device-specific. You should be well-acquainted with the interrupt * controller used in your device before setting this parameter to a * non-default value. The sentinel value of (~0) (the default value) is * used to indicate that the lowest possible priority should be used. * * Below is an example of an initialized GPIOCC26XX_Config * structure: * @code * const GPIOCC26XX_Config GPIOCC26XX_config = { * .pinConfigs = (GPIO_PinConfig *)gpioPinConfigs, * .callbacks = (GPIO_CallbackFxn *)gpioCallbackFunctions, * .numberOfPinConfigs = sizeof(gpioPinConfigs)/sizeof(GPIO_PinConfig), * .numberOfCallbacks = sizeof(gpioCallbackFunctions)/sizeof(GPIO_CallbackFxn), * .intPriority = (~0) * }; * @endcode */ typedef struct GPIOCC26XX_Config { /*! Pointer to the board's GPIO_PinConfig array */ GPIO_PinConfig *pinConfigs; /*! Pointer to the board's GPIO_CallbackFxn array */ GPIO_CallbackFxn *callbacks; /*! Number of GPIO_PinConfigs defined */ uint32_t numberOfPinConfigs; /*! Number of GPIO_Callbacks defined */ uint32_t numberOfCallbacks; /*! * Interrupt priority used for call back interrupts. * * intPriority is the interrupt priority, as defined by the * underlying OS. It is passed unmodified to the underlying OS's * interrupt handler creation code, so you need to refer to the OS * documentation for usage. If the driver uses the ti.dpl * interface instead of making OS calls directly, then the HwiP port * handles the interrupt priority in an OS specific way. In the case * of the SYS/BIOS port, intPriority is passed unmodified to Hwi_create(). * * Setting ~0 will configure the lowest possible priority */ uint32_t intPriority; } GPIOCC26XX_Config;