亲爱的对话框队,
感谢您的支持。
我们有14683号的定制板。应用程序是基于ble_peripheral项目。当一个任务从传感器读取数据时,其他任务将数据发送到移动应用程序,一旦连接。
我们有2个传感器,RTC,闪光灯,3个led,振动器连接到板上。
我们的应用程序将在主动模式下的系统初始化过程中。我们想提请董事会休眠模式,当按下按钮5秒钟。我们观察到,板进入休眠模式有时,但并非总是如此。
我们还观察到按钮中断总是被调用,计数器被incremened按钮按下5秒钟,但有些过程是从板阻止进入休眠模式。
你可以帮助我们解决这个问题?
此致
Malli
设备:
嗨powersquare,
谢谢你的问题。我的工作在你的问题,我会尽快给您回复。
可否请您让我知道如果你的问题与此相关的一个?
https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/button-press-5-sec-wakeup-sleep-mode
谢谢,PM_Dialog
是的。
嗨powersquare,
很抱歉,但我有点这张票和所连接的一个之间混淆。在附票,您曾提到,你不能得到唤醒时的回调函数。根据这张票,您的问题是,你是不是能够把设备处于休眠模式。为了将设备置于休眠模式下,你应该使用pm_set_sleep_mode(pm_mode_hibernation)。请注意,休眠模式将被用于装运的最终产品推向市场,而不消耗电池的一种特殊模式。这是用于运送和存放的最终产品,我不会建议你进行开发或调试范围休眠。如果你有BLE活动或其他任何未决的中断,系统将无法进入休眠状态。那么,能否请你让我知道你为了把进入休眠状态遵循的程序?你停止BLE活动,传感器读数等?
谢谢,PM_Dialog
亲爱的对话框队,
感谢您的支持。
我们正在试图找出,这部分代码,导致此问题。
我们把所有的意见我们的代码(#如果0),并开始与PCB测试按钮的问题。
请查收附件main.c.pdf文件,供参考。
在这个文件中,我们把我们的意见代码(行号569至584,605至649,行号588,595)。我们也把行号586,590,591和593)进入评论。
有了这个最低限度的代码,我们在PCB观察按钮工作正常。
然后我们开始删除注释一个接一个。去除行号586,590,591和593,这是下面代码中的注释:
-------------------------------------------------------------------------
ad_nvms_init();
// nvms_var = ad_nvms_open(NVMS_GENERIC_PART);
nvms_Binvar = ad_nvms_open(NVMS_BIN_PART);
OS_ASSERT (nvms_Binvar);
Printf ("flash bin part success\r\n");
----------------------------------------------------------------------------
使用此代码,按钮不能正常工作。在上面的行中,我们初始化了flash并打开了bin分区。其打印信息为“flash bin部分成功”。
我们没有像ad_nvms_close的API()API来关闭分区,把PCB进入休眠模式之前。
请注意,PCB的电源与电池。
你可以帮助我们解决这个问题。如果上面的代码工作正常的按钮,然后我们将开始测试进一步消除在我们的代码中的注释。
请让我们知道任何澄清。
此致
Malli
嗨powersquare,
你可以请附上main.c文件?我无法看到它的附件。
谢谢,PM_Dialog
亲爱的对话框队,
你可以分享你的电子邮件,我将源代码发送给您。
此致
Malli
嗨powersquare,
你能上传这里是一些代码片段?能否请您确认,如果停止BLE活动,使系统进入休眠状态时,与传感器进行交互?您需要进入休眠完全停止BLE活动。你有一个定制电路板,或者您在使用我们的任何死亡骑士的?
谢谢,PM_Dialog
亲爱的对话框队,
我们使用14683的定制板。
你有任何的代码片段或示例项目停止BLE活动。目前我们使用BLE停止广告API来停止广告。我们需要停止任何别的东西BLE。
我们使用时设定睡眠模式到休眠API将系统投入休眠模式。
你能帮助我们,如何发现,该方法是阻止系统进入休眠模式。
此致
Malli
嗨Malli,
我们将支持您在您的私人支持渠道。
谢谢,PM_Dialog