Part Number: CC2640R2F
Other Parts Discussed in Thread: CC2640, UNIFLASH
Tool/software: TI-RTOS
Hello,
I am using the PIN driver to wake the mcu from sleep state if one of two sources go low. There are two strange issues I have found.
The first issue is if one of the two sources is already low when the other is pulled low to wake. It works as expected if one of the two sources is pulled low to wake while the other is high, but if one of them is kept low and the other is pulled low to wake, it does not wake. I am not sure why this is and can't find any information on this.
The second issue is the pin wake does not work at all right after debugging. It seems that a chip reset is necessary before the pin wake functionality works. This is not a big deal, but I would like to understand why this behaves in this manner.
Below is my code for configuring the pin wake:
Wakeup Table:
PIN_Config ButtonTableWakeUp[] = {
fButtonR | PIN_INPUT_EN | PINCC26XX_WAKEUP_NEGEDGE,
chargeState | PIN_INPUT_EN | PINCC26XX_WAKEUP_NEGEDGE,
PIN_TERMINATE /* Terminate list */
};
Set wakeup:
PINCC26XX_setWakeup(ButtonTableWakeUp);
Pin Driver Config:
/*
* =============================== PIN ===============================
*/
#include <ti/drivers/PIN.h>
#include <ti/drivers/pin/PINCC26XX.h>
const PIN_Config BoardGpioInitTable[] = {
PIN_TERMINATE
};
const PINCC26XX_HWAttrs PINCC26XX_hwAttrs = {
.intPriority = ~0,
.swiPriority = 0
};
Any help on these issues is greatly appreciated. Thanks!