当DA14580转到EXT睡眠模式时,BLE停止。

4个帖子/ 0新
最后一篇
玛罗
离线
最后一次露面:4年7个月前
加入:2014-07-11 06:48
当DA14580转到EXT睡眠模式时,BLE停止。

嗨支持团队,

我从fh_proxr_sdk(v3.0.6)中创建软件并添加了SPI从驱动程序。

SPI奴隶驱动程序在#undef CFG_EXT_SLEEP条件下运行良好。
但是在ext_sleep模式下,BLE堆栈似乎已停止。

BLE在空闲模式下工作(起始后)。
但是进入ext_sleep模式后,BLE堆栈停止。

我发现这个问题与spi_dready_high()有关;手术。

如果我不调用spi_hci_flow_on_func()(该函数包括spi_dready_high();)在初始化时,输入ext_sleep模式后,BLE堆栈不会停止。

并且我发现ext_sleep模式下的SPI_DREADY_PIN端口输出脉冲信号,以便在称为SPI_DREADY_HIGH()的情况下。
如果我没有调用spi_hci_flow_on_func(),脉冲信号不会输出和ble堆栈很好。

所以我想知道如何在下面的时间做某事....
app_sleep_entry_proc();//在wfi()之前输入ext_sleep
app_sleep_exit_proc();//退出WFI()...

谢谢。

关键词:
je_dialog
离线
最后一次露面:1周前1周前
职员
加入:2013-12-05 14:02
你好Maro,

你好Maro,

我问了一个当地团队联系你。在扩展睡眠模式下,堆栈将关闭,BLE定时器/应用程序定时器正在决定当设备由于中断或BLE事件而恢复睡眠状态。

BR JE_DIALOG.

玛罗
离线
最后一次露面:4年7个月前
加入:2014-07-11 06:48
嗨je_dialog。

嗨je_dialog。

我有理由。
从WFI();,spi_hci_flow_on_func()的每个唤醒时间都是自动调用的。
因此SPI_DREADY_PIN每次输出高信号。

但我们的外部CPU在扩展睡眠模式期间,我们的外部CPU不关心来自DA14580的减排信号......
然后DA14580等待响应,但外部CPU没有回答,然后BLE堆栈时间延迟......

我们的CPU也消耗了每DA14580唤醒时机的减排中断信号。
它是更好的传输信号必须仅更改SPI通信发生。无需在DA14580唤醒时序。

所以我在spi_hci_flow_on_func()中添加了状态检查代码;

if(app_get_sleep_mode()== arch_ext_sleep_on)返回;//检测从ext睡眠模式的唤醒。

有什么问题吗??或者请告诉我更好的解决方案......

布尔

je_dialog
离线
最后一次露面:1周前1周前
职员
加入:2013-12-05 14:02
嗨Maro,其中一个当地人

嗨Maro,其中一支当地团队将致电您讨论您的解决方法。BR JE_DIALOG.