你好
锁定GPIO引脚的正确方法是什么?它在睡眠期间保留了状态?
我试过了hw_cpm_activate_pad_latches()
但是它仍然不起作用。当前代码流如下:
hw_cpm_deactivate_pad_latches();//允许更改引脚
hw_gpio_set_active(LED_PORT,LED_PIN);//打开LED
......
fflush(stdout);//锁定引脚和睡眠前的空缓冲区
hw_cpm_activate_pad_latches();//睡前闩锁销
// 这里睡
谢谢!
关键词:
设备:
更多细节!
这是在BLE_MULTI_LINK_TASK项目中。锁定似乎工作,直到DEV套件上的LED D12开始迅速闪烁。还有其他功能,导致锁定破坏吗?
嗨Edwadwhite,
这是SDK的默认功能,GPIO的锁存并在进入睡眠模式之前保留其最后一个状态。发生了什么,可能您无法看到这是因为当68x醒来时,它重新配置GPIO,因此在Periph_setup()函数中的每个唤醒时都已配置它们,因此您必须在您的应用程序中知道唤醒时,引脚的最后一个状态,以便在唤醒时重新申请该价值。在PM_INIT_WAKE_UP()中的Apply_wfi()和hw_cpm_deacect_pad_latches_pad_latches_pad_latches()中,您就会在进入睡眠模式hw_cpm_activate_pad_latches()之前调用您提到的函数。
谢谢mt_dialog.