主动模式到休眠模式

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
10个帖子/ 0个新
最后发表
powersquare
离线
最后看到:5个月前
加入:2018-12-27 04:15
主动模式到休眠模式

亲爱的团队对话框,

谢谢你的支持。

我们有14683的定制板。应用程序是基于ble_peripheral项目。一个任务从传感器读取数据,另一个任务在连接上后向移动应用程序发送数据。

我们有2个传感器,RTC,闪光灯,3个led,振动器连接到主板上。

在系统初始化期间,我们的应用程序将处于活动模式。我们想把板到休眠模式,当按钮被按下5秒。我们观察到主板有时会进入休眠模式,但并非总是如此。

我们还观察到,按钮中断总是被调用,按钮按下5秒计数器就会增加,但是一些进程会从主板上阻塞,进入休眠模式。

你能帮我们解决这个问题吗?

致以最亲切的问候

Malli

设备:
PM_Dialog
离线
最后看到:1天6小时前
工作人员
加入:2018-02-08 11:03
嗨powersquare,

嗨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
离线
最后看到:5个月前
加入:2018-12-27 04:15
是的。

是的。

PM_Dialog
离线
最后看到:1天6小时前
工作人员
加入:2018-02-08 11:03
嗨powersquare,

嗨powersquare,

不好意思,我有点搞不清这张票和附件的这张票在附件的票据中,您提到您无法在唤醒时获得回调函数。根据这张票据,您的问题是无法将设备置于休眠模式。为了使设备处于休眠模式,您应该使用pm_set_sleep_mode(pm_mode_hibernate)。请注意,休眠模式是一种特殊模式,用于在不耗尽电池的情况下将最终产品运送到市场。这是用于交付和存储最终产品的,我不建议您为开发或调试范围休眠。如果您有BLE活动或任何其他挂起的中断,系统将不能进入休眠。所以,你能告诉我你进入休眠的程序吗?你是否停止BLE活动,传感器读数等?

谢谢,PM_Dialog

powersquare
离线
最后看到:5个月前
加入:2018-12-27 04:15
亲爱的团队对话框,

亲爱的团队对话框,

谢谢你的支持。

我们正在试图找出,是代码的哪一部分导致了这个问题。

我们将所有代码放入注释(#if 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 part success”。

我们没有api像ad_nvms_close () api关闭分区,在把PCB进入休眠模式。

请注意PCB是用电池供电的。

你能帮我们解决这个问题吗?如果上面的代码对按钮工作正常,那么我们将开始删除代码中的注释以进行进一步测试。

请让我们知道任何澄清。

致以最亲切的问候

Malli

PM_Dialog
离线
最后看到:1天6小时前
工作人员
加入:2018-02-08 11:03
嗨powersquare,

嗨powersquare,

你能附加main.c文件吗?我在附件里看不到。

谢谢,PM_Dialog

powersquare
离线
最后看到:5个月前
加入:2018-12-27 04:15
亲爱的团队对话框,

亲爱的团队对话框,

你能分享你的邮件吗,我会把源代码发给你。

致以最亲切的问候

Malli

PM_Dialog
离线
最后看到:1天6小时前
工作人员
加入:2018-02-08 11:03
嗨powersquare,

嗨powersquare,

你能在这里上传一些代码片段吗?请确认当系统进入休眠状态时是否停止ble活动并与传感器交互?在进入冬眠之前,你需要完全停止BLE活动。你有定制板吗,或者你正在使用我们的dk ?

谢谢,PM_Dialog

powersquare
离线
最后看到:5个月前
加入:2018-12-27 04:15
亲爱的团队对话框,

亲爱的团队对话框,

我们使用14683定制板。

你有任何代码片段或例子项目来停止BLE活动。目前我们使用BLE停止广告api来停止广告。我们需要在BLE中停止任何其他东西吗?

我们使用pm set sleep mode to hibernate api将系统置于休眠模式。

你能帮助我们,如何找到,哪个进程正在阻止系统进入休眠模式。

致以最亲切的问候

Malli

PM_Dialog
离线
最后看到:1天6小时前
工作人员
加入:2018-02-08 11:03
嗨Malli,

嗨Malli,

我们将在您的私人支持频道上支持您。

谢谢,PM_Dialog