亲爱的Dialog_Support,
我在应用程序代码中配置了扩展的睡眠模式。在此,我正在使用外部按钮中断唤醒,从I2C中断唤醒,当我们写入特征时,从APP唤醒。10秒后醒来,如果没有任何输入,它会再次睡觉。我使用定时器唤醒设备10秒钟,然后再次入睡。
我所面临的问题是,有时的设备运行顺利,有时它不会按下按钮中断。此外,当应用程序尝试与设备连接然后应用程序显示“连接”,“连接失败”,“已断开连接”状态。
请您查看我的应用程序代码一次。我已附加了我的项目文件夹链接。
https://drive.google.com/open?id=1zgn-me9nx-tkelzsc6i_whr0zovbo_7h.
先感谢您。
带着敬意,
Ruchi Patel.
设备:
嗨Ruchi Patel,
关于设备有时不唤醒,我没有看到您上传的代码中的任何疑似,我看到您已通过外部中断使用唤醒过程,因为BLE_APP_SLEEPMODE建议,以便检查此您将必须调试FW和检查中断不会发生的情况,检查中断触发的回调(app_button_press_cb()),检查是否执行了app_easy_wakeup()函数(在执行之前存在条件函数,检查中断击中时始终是否为真,可能会在没有arch_ble_ext_wakeup_on()的情况下休眠。还要检查行并确保在线上实际上存在中断,以便中断触发。
关于发生的断开连接,您可以在断开连接时检查断开连接并检查断开连接的原因,我可以看到当我假设的cutter1_idx_initialisation_alert_char特征时,我可以看到正在调用app_easy_gap_disconnect()定制中央应在连接时执行的东西,因此检查是否触发了写入后。
谢谢mt_dialog.
亲爱的Dialog_Support,
感谢您的答复。
我已经检查过您提到的所有API。我已经在cust1_idx_initialisation_alert_char特征中发表了phard_easy_gap_disconnect()函数。现在设备比它更稳定。
在测试期间,我知道设备进入此行的ARCH_MAIN。
//恢复中断
global_int_start();
LP_CLK_RCX20时钟在低功耗模式期间使用?或者我们可以继续使用lp_clk_xtal32时钟?
感谢致敬,
Ruchi Patel.
嗨Ruchi Patel,
是的,WFI()之后,设备通过调用Global_Int_start()启用中断。
对于低功耗时钟,如果您处于降压模式,则可以在RCX或XTAL32(即外部晶域)之间进行选择,如果您处于Boost模式,则唯一的选项是XTAL32。
谢谢mt_dialog.