当DA14580进入ext睡眠模式时,BLE停止。

4个职位/0个新职位
最后一篇文章
马罗
离线
最后一次见到:4年3个月前
已加入:2014-07-11 06:48
当DA14580进入ext睡眠模式时,BLE停止。

嗨,支持团队,

我正在从fh\u proxr\u sdk(v3.0.6)创建软件,并添加了SPI从驱动程序。

SPI从驱动程序在#undef CFGŠu EXTŠ睡眠条件下工作良好。
但在EXT\u睡眠模式下,BLE堆栈似乎停止了。

BLE在空闲模式下工作(刚启动后)。
但BLE堆栈在进入EXT\ U睡眠模式后停止。

我发现这个问题与spi_dready_high();操作有关。

如果在初始化时不调用spi_hci_flow_on_func()(函数包括spi_dready_high();),BLE堆栈在进入EXT_睡眠模式后不会停止。。

我发现在被称为SPI\u DREADY\u high()的情况下,SPI\u DREADY\u PIN端口在ext\u睡眠模式下输出脉冲信号。
如果我没有调用spi\u hci\u flow\on\u func(),脉冲信号就不能输出,BLE堆栈工作得很好。。

所以我想知道如何在下面的时间做一些事情。。。。
app_sleep_entry_proc();//在WFI()之前输入ext_sleep
app_sleep_exit_proc();//退出WFI()后。。。

谢谢。

关键词:
JE\U对话框
离线
最后一次见到:5天7小时前
工作人员
已加入:2013-12-05 14:02
你好,Maro,

你好,Maro,

我已经让当地的一个小组和你联系了。在扩展睡眠模式下,堆栈将关闭,BLE定时器/应用定时器决定设备何时因中断或BLE事件而退出睡眠。

BR JE\u对话框

马罗
离线
最后一次见到:4年3个月前
已加入:2014-07-11 06:48
嗨,我的对话。

嗨,我的对话。

我有个理由。
从WFI();、spi_hci_flow_on_func()的每个唤醒时间都会自动调用。
所以每次SPI引脚都会输出高信号。

但是我们的外部CPU不关心在延长睡眠模式下来自DA14580的可怕信号。。。
然后DA14580等待响应,但是外部CPU没有应答,然后BLE堆栈计时被延迟。。。

此外,我们的CPU消耗可怕的中断信号每DA14580唤醒时间的权力。
最好是可怕的信号必须改变只有SPI通信发生。无需在DA14580唤醒时间更改。

所以我在spi_hci_flow_on_func()中添加了状态检查代码;
:
if(app_get_sleep_mode()==ARCH_EXT_sleep_ON)return;//从EXT sleep mode检测唤醒。
:

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

比尔

JE\U对话框
离线
最后一次见到:5天7小时前
工作人员
已加入:2013-12-05 14:02
你好,Maro,当地的

你好,Maro,当地的一个团队会打电话给你讨论解决方法。BR JE\u对话框