开启POWER_SAVING,按键无法唤醒,去掉POWER_SAVING,则可以正常相应按键。
代码:
// 按键IO配置
static PIN_Config s_keyPinsCfg[] =
{
IOID_3 | PIN_GPIO_OUTPUT_DIS | PIN_INPUT_EN | PIN_PULLUP,
PIN_TERMINATE
};
// 按键IO状态结构体
static PIN_State s_keyPins;
// 按键IO句柄结构体
static PIN_Handle s_hKeyPins;
// 初始化按键的IO
s_hKeyPins = PIN_open(&s_keyPins, s_keyPinsCfg);
// 注册回调函数
PIN_registerIntCb(s_hKeyPins, board_keyCallback);
// 修改成双沿中断触发,以避免睡眠之后中断不灵
PIN_setConfig(s_hKeyPins, PIN_BM_IRQ, IOID_3 | PIN_IRQ_BOTHEDGES); // PIN_IRQ_NEGEDGE
// 低功耗下的配置
#ifdef POWER_SAVING
PIN_setConfig(s_hKeyPins, PINCC26XX_BM_WAKEUP, IOID_3 | PINCC26XX_WAKEUP_NEGEDGE);
#endif // POWER_SAVING
正常会取 回调函数,打开一个定时器,LED会亮。
一旦开启POWER_SAVING,则无反应。在线仿真又正常的。
去掉POWER_SAVING,也是正常的。
请教下,会是什么原因呢?
另外,电路没有外部32.768KHZ晶振,使用的内部晶振。会有影响吗?