没有延长睡眠醒来

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
10个帖子/ 0新
最后一篇
Diogenes.
离线
最后一次露面:2年7个月前
加入:2018-10-04 05:09.
没有延长睡眠醒来

嗨对话框,

现在我正在尝试根据基于BLE_APP_ALL_IN_ONE的项目延长睡眠。
我认为唤醒是可以从唤醒别针的变化变化。
我写了一个唤醒启用功能,通过如下方式唤醒唤醒引脚上升沿,并将其设置为app_resume_from_sleep函数。

static const struct arch_main_loop_callbacks user_app_main_loop_callbacks = {
.app_on_init = user_app_init,
.app_on_ble_powered =&app_on_ble_powered,
.app_on_system_powered = null,
.app_before_sleep = null,
.app_validate_sleep = null,
.app_ging_to_sleep = null,

.app_resume_from_sleep = enable_wake_from_sleep,// null,
};

void enable_wake_from_sleep(void)
{
app_easy_wakeup_set(app_wakeup_cb);
wkupct_register_callback(enable_wakeup_cb);
wkupct_enable_irq(wkupct_pin_select(wake_pin_port,wake_pin_bit,),
wkupct_pin_polarity(wake_pin_port,wak_pin_bit,wkupct_pin_polarity_high),
1,1);
}

但是唤醒未通过唤醒销的边缘来完成。
原因是什么,我怎么能解决它?
如果有人知道补救或经验丰富并解决它,请给我你的建议。

谢谢,
Diogenes.

设备:
PM_DIALOG.
在线的
最后一次露面:1分14秒前
职员
加入:2018-02-08 11:03
嗨Diogenes,

嗨Diogenes,

你能澄清你想要完成的事情吗?如果我理解正确,你希望你想通过外部中断异步唤醒,例如通过按钮?如果您想要类似的东西,BLE_APP_ALL_IN_ONE示例已经包含此实现。此外,SDK中还有另一个示例,BLE_APP_SLEEPMODE示例。此示例演示如何使用睡眠模式API并在运行时更改睡眠模式。设备广告已定义的时间量(app_adv_data_update_to),默认值为10 s。只要设备处于广告状态,它的睡眠模式将设置为深睡眠状态。在上述超时到期后,如果设备未进入连接状态,则会停止广告。现在芯片没有任何作用,并等待外部事件退出睡眠状态。你可以按一个按钮唤醒它。按钮按下设备后,将开始再次通告预定义的时间。在BLE_APP_ALLEEP中实现的唤醒过程的功能也在BLE_APP_ALL_IN_ONE示例中实现。有关此SDK示例的更多信息,请阅读Parkar 5(睡眠模式)和支柱7(一体化)部分UM-B-050:DA1458X软件开发人员指南(SDK5)来自我们的支持页面的用户手册。

谢谢,PM_DIALOG.

Diogenes.
离线
最后一次露面:2年7个月前
加入:2018-10-04 05:09.
嗨对话框,

嗨对话框,

感谢你的回复。
我想理论上我理解它是,但我也明白唤醒中断只在几秒钟后发生。
首先,如果唤醒中断通常会发生唤醒中断,请选中“BLE_APP_SLEEPMODE”示例。
并且我发现唤醒中断才能从重置超过10秒后有效。
我也发现,下一个唤醒中断只有在从前唤醒中断到10秒后才发生。
即使在短暂的间隔内重置和连续,立即使用唤醒中断。
那么我怎么能更短的时间间隔时间来配置最小的间隔时间?
我无法在示例项目中找到app_add_data_update_to。

我发现了另一个问题。
我将唤醒引脚从P1.1更改为P0.1并连接其他MCU的输出引脚。
在DA重置后20秒后,其他MCU上升到H的信号。
虽然SW但通过信号发生唤醒中断。
我认为H持续时间不足以激活唤醒中断。
如果是对的,请告诉我如何配置持续时间?

我正在寻找你的好答案。

谢谢,
Diogenes.

PM_DIALOG.
在线的
最后一次露面:1分14秒前
职员
加入:2018-02-08 11:03
嗨Diogenes,

嗨Diogenes,

您可以更改广告的默认持续时间,因为设备唤醒,通过配置App_add_data_update_to定义,该定义放入user_sleepmode.h标题文件中。默认值为1000(10秒)。您能否请确保您对user_periph_setup.h / .c文件执行了正确的配置?P1.1 GPIO是默认配置为输入拉动,因此如果在user_sleepmode.c文件中查看来自app_button_enable()函数的wkupct_enable_irq(),则会看到极性是低电平的。请你描述你想要完成的事情吗?了解您的要求并为您提供适当的支持,这将是非常有帮助的。如果您发现上述任何答案有用请标记其中一个接受。

谢谢,PM_DIALOG.

Diogenes.
离线
最后一次露面:2年7个月前
加入:2018-10-04 05:09.
嗨对话框,

嗨对话框,

感谢你的回复。
至于app_adv_data_update_to,我发现它并解决了问题。
我看到最小间隔是10毫秒。
我最初通过外部信号使用GPIO int,后来我试图使用同一引脚的WakeUp int。
通过执行GPIO INT和WAKEUP INT,我发现有时只有唤醒int发生,而GPIO INT虽然不起作用。
至少我无法通过调试捕获GPIO INT,是吗?
如果你给我有关它的有用信息,我会如此。

谢谢,
Diogenes.

PM_DIALOG.
在线的
最后一次露面:1分14秒前
职员
加入:2018-02-08 11:03
嗨Diogenes,

嗨Diogenes,

对不起,但我有点混淆了你的描述。你能澄清你想要完成的事情吗?我无法捕捉你的意思是我最初使用外部信号的GPIO上升int,我试图使用同一引脚的WakeUp int“”。您是否希望使用外部信号唤醒您的设备,而不是使用按钮,因为它在BLE_APP_SLEEPMODE示例中实现了?当设备处于扩展睡眠模式时,您是否尝试捕获GPIO INT?请为我提供有关您实现的更多信息,这将是非常有帮助的。此外,调试程序的非常有用的文档是教程8:调试方法_v1.1来自我们的支持页面。在DA14580部分的“教程”和“文档”选项卡中,您可以找到所有可用文档。如果您发现上述任何答案有用请标记其中一个接受。

谢谢,PM_DIALOG.

Diogenes.
离线
最后一次露面:2年7个月前
加入:2018-10-04 05:09.
谢谢你的回复

谢谢你的回复,

>您是否希望使用外部信号唤醒您的设备,而不是使用按钮,因为它在BLE_APP_SLEEPMODE示例中实现?

是的,我使用p0.1作为外部唤醒引脚。

>您是否尝试在设备处于扩展睡眠模式时捕获GPIO INT?

是的,右,我需要带有相同P0.1引脚的GPIO INT。
首先,我认为唤醒int和gpio int用相同的引脚发生,但我发现gpio int似乎有时跳过。
所以我从GPIO INT移动了必要的处理程序来唤醒int。
我的程序本身就像我想要处理程序内容一样,我想要询问使用与Wakeup Int的相同引脚跳过现象GPIO Int是否正常。

如果你给我有关它的信息,我会很高兴。

谢谢,
Diogenes.

PM_DIALOG.
在线的
最后一次露面:1分14秒前
职员
加入:2018-02-08 11:03
嗨Diogenes,

嗨Diogenes,

如果您使用DA14580使用PRO-DK或自定义板,请澄清您是否可以澄清?在Pro-DK中,按钮连接到PIN1_1。此外,您能否解释你用“GPIO int”和“唤醒int”的意思。对不起,但我无法理解你的意思。您是否想用连接到PIN1_1的按钮唤醒,并且在同一引脚中您想要连接外部GPIO中断?BLE_APP_SLEEPMODE示例已实现唤醒过程,如果您想更改GPIO唤醒,则应在USER_PERIPH_SETUPH / C中配置它。请尝试清楚地描述您试图完成的内容,以便为您提供正确的指导方针。

谢谢,PM_DIALOG.

Diogenes.
离线
最后一次露面:2年7个月前
加入:2018-10-04 05:09.
感谢你的回复,

感谢你的回复,

>如果您使用DA14580使用PRO-DK或自定义板,请澄清您是否可以澄清?

我正在使用Murata的P2ML3656,在电路板上也连接到SW。
但是我正在使用P0.1而不是P1.1而不是P1.1,并且从连接到P0.1的外部MCU信号产生唤醒int和GPIO int。
无论如何,我不使用船上的sw。
首先,我只实施了GPIO int,然后我试过唤醒int和gpio int是否发生或不使用相同的引脚。
正如我在为Wakeup int和GPIO int设置的同一PIN且结果中写道,并且由于发生了Wakeup Int,可能会跳过GPIO Int。
我想问的是行为正常是否正常。

谢谢,
Diogenes.

PM_DIALOG.
在线的
最后一次露面:1分14秒前
职员
加入:2018-02-08 11:03
嗨Diogenes,

嗨Diogenes,

如果您将GPIO配置为唤醒中断,DA14580可以唤醒。您是否在唤醒API中注册了GPIO INT?如果我能够正确理解,这是一种正常行为。我认为这份文件可能会帮助您:

https://support.dialog-seminile.com/system/files/resources/an-b-026_da14580%20external%20wake-up%20mechanisms_v1.0.pdf.

谢谢,PM_DIALOG.