请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2650 工具/软件:TI-RTOS
你好
我想将 CC2650置于具有两个唤醒 IO 的关断模式。
我实现了该代码
静态 PIN_Config ResetPinTable[]= { Board_QI_STATUS | PIN_INPUT_EN | PIN_NOPULL | PIN_IRQ_DIS、 BOARD_SELECT_ACCELERO_1 | PIN_INPUT_EN | PIN_NOPULL | PIN_IRQ_DIS、 PIN_TERMINATE }; int main () { PIN_init (BoardGpioInitTable); H_GpioResetPin = PIN_OPEN (&pinResetGpioState、ResetPinTable); PIN_registerIntCb (H_GpioResetPin、VD_APP_RESET_CALLBACK); //... SimpleBLEPeripheral_createTask (); //... PIN_setConfig (H_GpioResetPin、PINCC26XX_BM_IRQ、Board_SELECT_ACCELERO_1 | PINCC26XX_IRQ_NEGEDGE); PIN_setConfig (H_GpioResetPin、PINCC26XX_BM_IRQ、 Board_QI_STATUS | PINCC26XX_IRQ_NEGEDGE | PINCC26XX_IRQ_POedge; BIOS_start(); } 静态 void VD_APP_RESET_callback (PIN_Handle handle、PIN_ID pinId) { PIN_setOutputValue (H_GpioResetPin、Board_TP、0); if (pinId = Board_QI_STATUS) { SysCtrlSystemReset(); } if (pinId = Board_CHOOLE_ACCELERO_1) { PIN_setConfig (H_GpioResetPin、PINCC26XX_BM_WAKEUP、Board_CHOOSE_ACCELERO_1 | PINCC26XX_WAKEUP_NEGEDGE); PIN_setConfig (H_GpioResetPin、PINCC26XX_BM_WAKEUP、Board_QI_STATUS | PINCC26XX_WAKEUP_NEGEDGE); EVENT_POST (ChooseEvent、EVENT_ACCELERO); } // 任务中 //... if (事件和 EVENT_ACCELERO) { /*转到 SHUTDOWN */ POWER_SHUTDOWN (NULL、0); /*不应出现在此处,因为关机将重置。 * while (1); }
GPIO 用于关断。
再次复位 cc2650。
当 cc2650处于关断状态时、两个 GPIO 可将其唤醒。
但问题是、我在 Board_QI_STATUS 上唤醒不起作用。
如果我将唤醒置于 Board_QI_STATUS 上 、它会起作用。 如果我将唤醒置于 Board_SELECK_ACCELERO_1中、它可以正常工作、但不能同时工作。
您是否知道是否可以在上升沿和下降沿唤醒?
谢谢