跳过主要内容

每次ext_sleep模式

DA14580

6年前

发表Wuxin_10190分 7个答复
0个投票

嗨,支持团队,
请让我每次询问有关ext_sleep模式的问题。我需要在内部唤醒它。我已经阅读了UM-B-006,但是我对如何以及在哪里编写代码有些困惑。
在SDK5代码中,哪个示例是关于它的。
请帮我!

6年前

mt_dialog -30分

HI Wuxin_1019,

SDK中实现BLE的所有示例都可以进入睡眠模式,您要做的就是将App_default_sleep_mode设置为user_config.h file中的Extended Sleep,在您的keil的user_config文件夹中。

谢谢mt_dialog

6年前

Wuxin_1019 0分

我aready将app_default_sleep_mode设置为Arch_ext_sleep_on,以在文件user_config.h文件中扩展睡眠。但是我应该在哪里放置醒来的代码。谢谢!

6年前

mt_dialog -30分

HI Wuxin_1019,

DA醒来有不同的方法,DA在做广告或保持连接活力时醒来,您可以在内部使用计时器(软件内核计时器)唤醒它,您可以在App_ble_barebare中找到一个示例user_barebone.c中SDK的项目在user_app_adv_function()()(app_easy_timer()函数设置一个计时器,当它关闭时,adv_data_update_timer_cb函数执行并停止广告过程)。最后,您可以通过外部事件将其唤醒,您可以通过遵循以下帖子或在论坛上进行快速搜索来检查这是如何完成的,有很多线程描述了如何做这种事情。

http://support.dialog-spoomendonductor.com/dsps-use-gpio-control-istrol-its-exten助厂

谢谢mt_dialog

6年前

Wuxin_1019 0分

谢谢,我只想在内部醒来,例如“睡眠3s,发送数据,睡眠3s,ble发送数据,....”。我在user_barebone.c中找不到user_app_adv_function()。
void user_app_adv_start(void)
{
//安排下一个广告数据更新
app_adv_data_update_timer_used = app_easy_timer(app_adv_data_update_to,adv_data_update_timer_cb);

struct gapm_start_advertise_cmd* cmd;
cmd = app_easy_gap_undirected_advertise_get_active();

if(gpio_getpinstatus(gpio_port_2,gpio_pin_2))
gpio_setinactive(gpio_port_2,gpio_pin_2);
别的
gpio_setactive(gpio_port_2,gpio_pin_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_config.h中定义Arch_ext_sleep_on时,上述代码停止。
我想知道我应该在哪里放置代码以内部醒来。(抱歉,“”http://support.dialog-spoomendonductor.com/dsps-use-gpio-control-its-extend...“不适合我。)谢谢!

6年前

mt_dialog -30分

HI Wuxin_1019,

如果您希望设备内部唤醒,则可以使用内核计时器。只需启动广告并启动一个计时器,当计时器通过时,您可以调用app_easy_gap_advertise_stop(),当广告取消完成时(在user_app_adv_undv_undirect_complete()中。当该计时器通过时,您可以在特定处理程序中调用广告开始。

thansk mt_dialog

6年前

Wuxin_1019 0分

我还有其他问题。当我设置“ const statation sleep_state_t app_default_sleep_mode = arch_ext_sleep_on;”时在文件user_config.h文件中。Systerm停止睡觉。我能做些什么?谢谢。

6年前

mt_dialog -30分

HI Wuxin_1019,

很可能您正在使用KEIL将软件donwload软件转换为580。使用KEIL时,您处于调试模式,并且您已经启用了Sleep Sleep,直到Debbuger脱离为止。只需停止调试模式,您就应该看到DA开始广告。

谢谢mt_dialog