醒来后DA14580准备接收UART

⚠️
大家好. .谢谢光临论坛。令人兴奋的消息!我们现在在移动的过程中,我们的新论坛平台,将提供更好的功能和包含在主对话框的网站。所有文章和帐户已经被迁移。我们现在只接受交通新论坛,请发布任何新的线程//www.wsdof.com/support。我们将修复bug /优化搜索和标签在接下来的日子里。
8帖子/ 0
最后发表
Avouaill
离线
最后看到:4年9个月前
加入:2016-09-19 15:21
醒来后DA14580准备接收UART

你好,

我在一个中断触发DA14580醒来。
我想知道的是什么时候准备好接受UART信息和发送他们。会结束时,回调函数或进一步的代码?
提前谢谢。

设备:
MT_dialog
离线
最后看到:1年3个月前
工作人员
加入:2015-06-08 34
嗨Avouaill,

嗨Avouaill,

在睡眠模式下的设备关闭XTAL16时钟生成的关键UART,醒来之后你将不得不等待为了XTAL16定居。最安全的地方,确保XTAL16已经定居在app_on_ble_powered回调(因为核心还需要XTAL16为了经营),经过这个函数,只要你不睡觉设备将XTAL16结算,做好准备,你将能够通过UART接收数据。

由于MT_dialog

Avouaill
离线
最后看到:4年9个月前
加入:2016-09-19 15:21
你好,

你好,

谢谢你的回答。
我实际使用的版本V.150.2,我找不到任何app_on_ble_powered函数。你知道有一个相当于我用的版本。

谢谢提前

问候

MT_dialog
离线
最后看到:1年3个月前
工作人员
加入:2015-06-08 34
嗨Avouaill,

嗨Avouaill,

在所有回调叫app_on_ble_powered SDK5版本,甚至在第一SDK的SDK5.0.2.1 5版本中,我假设您正在使用SDK3。在这种情况下没有回调,你可以附上源代码和相关的钩,您可以将代码是app_asynch_trm()函数。但我强烈建议搬到SDK 5。

由于MT_dialog

Avouaill
离线
最后看到:4年9个月前
加入:2016-09-19 15:21
你好,

你好,

好的我明白了。
我试图做的是醒来BLE模块从延长睡眠模式和发送一个中断到加州大学警告当UART准备好了。
是否可以为我提供一个回调函数可以正常醒来BLE模块所有必要的功能?我将添加中断与需求。

问候

Avouaill
离线
最后看到:4年9个月前
加入:2016-09-19 15:21
你好,

你好,

差不多了,callbcack函数被调用正确,我切换BLE_int内部生成中断在加州大学。
问题是,到底3醒来后,毫无理由不切换BLE_int了。
这是我的回调函数的代码:

空白ext_wakeup_cb(空白)
{
如果(fsleep = = ARCH_EXT_SLEEP_ON)
{
如果(GetBits16 (SYS_STAT_REG PER_IS_DOWN))
{

如果(DEVELOPMENT_DEBUG) {
GPIO_reservations ();
}
}

SetBits32 (GP_CONTROL_REG BLE_WAKEUP_REQ 1);
fsleep = ARCH_SLEEP_OFF;
}
其他的
fsleep = ARCH_EXT_SLEEP_ON;

GPIO_SetActive (GPIO_PORT_0 GPIO_PIN_7);/ /信号警告UART uC是准备好了
wkupct_enable_irq (0 x40 0 x00 1,0);
wkupct_register_callback (ext_wakeup_cb);
GPIO_SetInactive (GPIO_PORT_0 GPIO_PIN_7);/ /信号警告UART uC是准备好了
}

函数一定是错的,我不明白。

谢谢提前

MT_dialog
离线
最后看到:1年3个月前
工作人员
加入:2015-06-08 34
嗨Avouaill,

嗨Avouaill,

我不确定如果你正在寻找什么,但为了迫使醒来的祝福(没有等待事件调度应用程序将不得不迫使BLE醒来)你必须调用arch_ble_force_wakeup ();后做设备应该尽快醒来过程的核心和核心唤醒了app_asynch_trm()将得到执行。

关于你提到的问题后,我认为你不该看到的切换如你所愿,我不看到任何回调函数调用periph_init()函数为了你的针被初始化,所以也许时代,设备切换销只是发生设备和外设清醒。一些评论,不需要调用GPIO_reservations(),该函数的调用在系统初始化后,不需要再次调用它。而不是使ble核心通过直接写寄存器可以使用arch_ble_force_wakeup()函数,如果我没记错的话还有app_ble_force_wakeup()的SDK 3完全相同。也允许我再次提到你正在请求醒来BLE核心并不意味着核心立即醒来,核心就会清醒设备进入app_asynch_trm()正如我前面提到的。请检查在SDK5 ble_app_sleepmode例子可能有点不同的SDK,但醒来之后SDK之间非常相似的序列。我坚持朝着最近的SDK。

由于MT_dialog

Avouaill
离线
最后看到:4年9个月前
加入:2016-09-19 15:21
你好,

你好,

非常感谢你的帮助。
我将搬到最新的SDK和管理使一切工作与你的技巧。
这个主题可以被关闭。

问候

Aurelien