每隔一段时间使用EXT\ U睡眠模式

8个职位/0个新职位
最后一篇文章
五新1019
离线
最后一次见到:5年2个月前
已加入:2015-11-18 15:08
每隔一段时间使用EXT\ U睡眠模式

嗨,支持团队,
请让我每隔一段时间问一个关于EXT\ U睡眠模式的问题。我需要从内部唤醒它。我已经读过UM-B-006了,但是我对如何编写代码和在哪里编写代码有点困惑。
在SDK5的代码中,哪一个例子是关于它的。
请帮帮我!

关键词:
设备:
MT\u对话框
离线
最后一次见到:5天23小时前
工作人员
已加入:2015-06-08 11:34
你好,吴新1019,

你好,吴新1019,

SDK中实现BLE的所有示例都可以进入睡眠模式,您所要做的就是在keil的user\u config文件夹中的user\u config.h文件中将app\u default\u sleep\u mode设置为ARCH\u EXT\u sleep\u ON以进行扩展睡眠。

谢谢你的对话

五新1019
离线
最后一次见到:5年2个月前
已加入:2015-11-18 15:08
我可以设置应用程序的默认值

我将app\u default\u sleep\u mode设置为ARCH\u EXT\u sleep\u ON,以便在文件user\u config.h文件中延长睡眠时间。但我应该把醒来的密码放在哪里。谢谢!

MT\u对话框
离线
最后一次见到:5天23小时前
工作人员
已加入:2015-06-08 11:34
你好,吴新1019,

你好,吴新1019,

da有不同的唤醒方式,da在广告或保持连接活动时唤醒,您可以使用计时器(软件内核计时器)在内部将其唤醒您可以在SDK的app\u barebone项目的user\u barebone.c中的user\u app\u adv\u function()(app\u easy\u timer()函数集)中找到一个示例一个计时器,当它关闭时,adv\u data\u update\u timer\u cb函数被执行并停止播发过程)。最后你可以通过一个外部事件来唤醒它,你可以通过下面的帖子或者通过在论坛上快速搜索来检查这是如何做到的,有很多线程描述了如何做这种事情。

http://support.dialog semiconductor.com/dsps使用gpio控制其扩展。。。

谢谢你的对话

五新1019
离线
最后一次见到:5年2个月前
已加入:2015-11-18 15:08
谢谢,我只想醒来

谢谢,我只想在内部唤醒da,比如“sleep 3s,ble send data,sleep 3s,ble send data,…”。我在user\u barebone.c中找不到user\u app\u adv\u function()。
void user\u app\u adv\u start(无效)
{
//安排下一次广告数据更新
app\u adv\u data\u update\u timer\u used=app\u easy\u timer(app\u adv\u data\u update\u TO,adv\u data\u update\u timer\u cb);

结构gapm\u开始\u广告\u cmd*cmd;
cmd=app_easy_gap_undirected_advertise_get_active();

if(GPIO_GetPinStatus(GPIO_PORT_2,GPIO_PIN_2))
GPIO\ U SetInactive(GPIO\ U端口\ U 2,GPIO\ U引脚\ U 2);
其他的
GPIO\ U设置激活(GPIO\ U端口\ U 2,GPIO\ U引脚\ U 2);

//动态添加特定于制造商的数据
mnf_data_update();
app_add_ad_struct(cmd,&mnf_data,sizeof(struct mnf_specific_data_ad_structure));

app_easy_gap_undirected_advertise_start();
}

当我在user\u config.h中定义ARCH\u EXT\u SLEEP\u ON时,上面的代码停止了。
我想知道我应该把内部唤醒的代码放在哪里http://support.dialog-semiconductor.com/dsps-use-gpio-control-its-extend……“不适合我。)谢谢!

MT\u对话框
离线
最后一次见到:5天23小时前
工作人员
已加入:2015-06-08 11:34
你好,吴新1019,

你好,吴新1019,

如果希望设备在内部唤醒,可以使用内核计时器。只需启动播发并启动一个计时器,当计时器结束时,您可以调用app\u easy\u gap\u advertise\u stop(),当取消播发完成时(在user\u app\u adv\u undirect\u complete()中),您可以设置另一个计时器来计算您关闭的时间。当计时器结束时,您可以在特定的处理程序中调用开始播发。

Thansk MT\u对话框

五新1019
离线
最后一次见到:5年2个月前
已加入:2015-11-18 15:08
我还有其他问题。当我

我还有其他问题。当我在user\u config.h文件中设置“const static sleep\u state\u t app\u default\u sleep\u mode=ARCH\u EXT\u sleep\u ON;”时。系统停止并休眠。我能做什么?谢谢。

MT\u对话框
离线
最后一次见到:5天23小时前
工作人员
已加入:2015-06-08 11:34
你好,吴新1019,

你好,吴新1019,

很可能你正在使用keil将软件加载到你的580。当使用keil时,您处于调试模式,并且启用了sleep,da将停止,直到debbuger被分离。只要停止调试模式,您就会看到da开始播发。

谢谢你的对话