MNF_数据更新和ARCH_EXT_SLEEP_开启

⚠️
你好。。谢谢你来到论坛。令人兴奋的消息!我们现在正在迁移到新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有员额和帐户都已迁移。我们现在只接受新论坛的流量-请在//www.wsdof.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
21个员额/ 0个新员额
最后发表
anushiya
离线
最后看到:11个月10个小时前
加入:2017-12-20 02:30
MNF_数据更新和ARCH_EXT_SLEEP_开启

你好,

我有麻烦在设置扩展睡眠模式(没有OPT拷贝)。我们正在使用定制的14586板。

在arch_main.c中,在程序int main(void)(第139行)中

如果我替换sleep_mode = rwip_power_down();(第176行),sleep_mode = mode_active;它每秒连续地传输数据,没有问题。

但是如果我离开sleep\u mode=rwip\u power\u down(),数据包就不会更新。初始化后,数据包更新一次,然后每隔一秒钟发送一次相同的数据包。

Adv_data_update_timer_cb是使用APP_Adv_data_update_TO计划的,未更改,保留为100

CFG\u最大睡眠时间\u周期性唤醒时间\u MS保持在500。

为.intv_min和.intv_max尝试了687.5和3000值

app_default_sleep_mode设置为ARCH_EXT_SLEEP_ON

使用参数false调用所有arch\u set\u extended\u sleep调用(arch\u set\u extended\u sleep(false))。

已使用app_easy_gap_non_connectable_advertive_start()。

SysCLK更改为16MHz。

定时器0和systick用于设置MNF_DATA的某些值。

我有两个问题,

1) 数据包没有得到更新

2) 从smartsnippets的当前级别和开发板的测试点6来看,我认为它不会进入睡眠模式。(CRO上的基本电压为100mv,传输时为400mV。

我能在这方面得到一些帮助吗?我从你的ble_应用程序_睡眠模式开始了这个项目,并根据我们的需要进行了修改。

谢谢你

设备:
PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨anushiya,

嗨anushiya,

为了在没有OTP镜像的情况下将DA14586设置为扩展睡眠模式,您只需将user_config.h中的app_default_sleep_mode变量设置为ARCH_EXT_sleep_ON。您不应该修改ARCH_main.c文件,因为它是与SDK相关的文件。在SDK的ble_app_sleepmode示例中,设备会广播定义的时间量APP_ADV_DATA_UPDATE_TO的默认值为30秒。当设备处于广告状态时,其睡眠模式设置为带OTP copy的延长睡眠(当系统在开发调试模式下运行时模拟OTP副本)。在上述超时过期后,如果设备未进入连接状态,则停止播发,因此执行应用程序的adv_data_update_timer_cb()将停止播发。这意味着制造商特定的数据将不会更新,设备将进入扩展睡眠模式,等待外部事件退出睡眠状态。用户可以通过按下按钮唤醒设备。按下按钮后,设备将在预定义的时间内再次开始播发。当设备进入conn时选中状态,则睡眠模式将变为无OTP复制的延长睡眠。因此,如果您想更新制造商特定的数据,应在用户_app_adv_start()中设置第二个计时器。有关DA14585/6产品系列中睡眠模式的更多信息,请阅读教程4:睡眠模式电流测量

谢谢,PM_Dialog

anushiya
离线
最后看到:11个月10个小时前
加入:2017-12-20 02:30
谢谢你的提示

谢谢你的及时回复。我不想要一个连接状态,我想滥用系统无限期地每x秒传输一个数据包。

>您不应该修改arch_main.c文件,因为它是与SDK相关的文件。

我没有在这里改变任何东西。只是为了让它继续传输,我临时替换了sleep_mode=rwip_power_down();(第176行)显示arch_main.c的休眠模式=激活模式,并确认其持续传输。

>用户配置.h中的app_default_sleep_mode变量设置为ARCH_EXT_sleep_ON

我做了这个

>在SDK的ble_app_sleepmode示例中,设备发布一个定义的时间量APP_ADV_DATA_UPDATE_TO,默认值为30秒。当设备处于发布状态时,它的睡眠模式被设置为带有OTP拷贝的扩展睡眠(OTP拷贝在系统以DEVELOPMENT_DEBUG模式运行时被模拟)。在上述超时过期后,如果设备没有进入连接状态,则停止发布,因此执行app_easy_gap_advertise_stop()的adv_data_update_timer_cb()。这意味着制造商特定的数据将不会更新,设备将进入扩展睡眠模式,等待外部事件退出睡眠状态。

我已经评论了adv_data_update_timer_cb()中的app_easy_gap_advertise_stop(),并替换为app_adv_data_update_timer_used = app_easy_timer(APP_ADV_DATA_UPDATE_TO, adv_data_update_timer_cb);并将APP_ADV_DATA_UPDATE_TO设置为100

(这就是为什么当我在arch_main.c中更改sleep_mode=mode_active时,它会无限期地传输)

我不想要一个连接状态,并且想要无限期地每x秒传输一个数据包

>用户可以通过按下按钮唤醒设备。按下按钮后,设备将在预定义的时间内再次开始播发。当设备进入已连接状态时,睡眠模式将变为无OTP复制的延长睡眠。因此,如果要更新特定于制造商的数据,应在user_app_adv_start()中设置第二个计时器。

我希望这个设备永远不要按下按钮。此外,设备将永远不会进入连接状态。我希望该设备在特定的时间间隔内传输一个paket,并进入无OTP拷贝的长睡眠状态。这就是为什么我改变了app_easy_gap_undirectional_advision_start();作为应用程序_easy_gap_non_connectable_Advertised_start();

而且所有的arch_set_extended_sleep调用都带有参数false (arch_set_extended_sleep(false))。原来的例子有arch_set_extended_sleep(true)

>有关DA14585/6产品系列中睡眠模式的更多信息,请阅读教程4:睡眠模式电流测量

这就是我用的。我尝试了两种方法。1)使用智能片段将代码放入flash中,这样JTAG就不需要连接。2)在Keil_5中按下调试,让程序运行,然后退出调试。两次的正确值都保持在高位。

非常感谢你的帮助。

请注意,我可以发送完整的项目设置,如果我可以上传一个更大的文件,或者如果你特别想看到某个文件,我可以上传它。

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨anushiya,

嗨anushiya,

感谢您的详细反馈。

  • 我没有在这里改变任何东西。只是为了让它继续传输,我临时替换了sleep_mode=rwip_power_down();(第176行)显示arch_main.c的休眠模式=激活模式,并确认其持续传输。

您正在使用哪个SDK版本?我使用的是最新版本SDK6.0。10我可以找到sleep_mode=rwip_power_down();在arch_main.c文件的第195行中。在while(1)循环中,如果将rwip_power_down()替换为mode_active,则设备似乎永远不会进入睡眠模式。

  • 我希望这个设备永远不要按下按钮。此外,设备将永远不会进入连接状态。我希望该设备在特定的时间间隔内传输一个paket,并进入无OTP拷贝的长睡眠状态。这就是为什么我改变了app_easy_gap_undirectional_advision_start();作为应用程序_easy_gap_non_connectable_Advertised_start();

您可以将设备配置为广播或使用不可连接的广告。当一台设备充当广播者时,这意味着它只能支持不可连接的广告。请按照以下步骤将设备配置为广播机。我在SDK6.0.10的ble_app_睡眠模式示例中执行了这些步骤

  1. 将user_config.h头文件中user_adv_conf结构的.mode项更改为gap_broadster_mode
  2. 将user_config.h头文件中user_gapm_conf结构的.ROLE项更改为GAP_ROLE_BROADCASTER。
  3. Add cmd=app_easy_gap_non_connectable_adversed_get_active();而不是cmd=app_easy_gap_undirected_advision_get_active();在user_sleepmode.c文件的user_app_adv_start()函数中
  4. 添加应用程序_easy_gap_non_connectable_Advertised_start();而不是应用程序_easy_gap_undirected_Advertised_start();在user_u-sleepmode.c文件的user_-app_adv_start()函数中
  5. 将user_app_on_adv_noncn_complete()函数添加为user_app_adv_undirective_complete()。此函数将在不可连接广告完成时触发。
  6. 在user\u callback\u config.h头文件的user\u app\u callbacks结构中添加user\u app\u on\u adv\u non\u complete,如下所示:。app\u on\u adv\u unddirective\u complete=user\u app\u adv\u unddirective\u complete,

如果您发现任何答案有用,请将其标记为“已接受”。

谢谢,PM_Dialog

anushiya
离线
最后看到:11个月10个小时前
加入:2017-12-20 02:30
谢谢你的帮助。你的

谢谢你的帮助。你的建议帮我把设备调到了广播模式。但仍有以下两个问题。

1) mnf_data_update()仍然没有被调用

2)智能片段显示0.5mA的峰值传输时间(除去调试模式),这意味着没有调用睡眠模式。

(使用示波器,通过主板上的测试点匹配智能片段值)

我正在使用SDK 6.0.4.326。

我定义user_app_adv_non_connectable_complete(uint8_t)为

无效用户\u应用\u高级\u不可连接\u完成(uint8\t状态)

//根据状态,安排下一个传输包

app_adv_data_update_timer_used=app_easy_timer(app_adv_data_update_TO,adv_data_update_timer_cb);

where APP_ADV_DATA_UPDATE_TO = 3000 -这应该不会对广播有任何影响吗

所有arch_set_extended_sleep调用都带有参数“false”,表示无OTP编程

应用程序\默认\睡眠\模式=拱门\外部\睡眠\开启

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨anushiya,

嗨anushiya,

我想让您知道SDK6.0.4是一个非常旧的版本,目前不受支持。为此,我强烈建议您下载并使用适用于DA14585/6产品系列的SDK的最新版本,即SDK6.0.10。SDK6.0.10的ble_app_睡眠模式示例用于我为您提供的步骤,以便将您的in设备设置为广播模式。每次完成不可连接的广告时,都会触发用户_app_adv_non_connectable_complete()。因此,您在该函数中设置了一个计时器,当计时器过期时,将执行adv_data_update_timer_cb。请遵循SDK的ble_app_sleepmode示例中有关将设备配置为广播模式的指导原则。我建议你只做我提供给你的修改。不可连接的广告将停止每个应用程序的ADV_DATA_UPDATE_TO,并触发ADV_DATA_UPDATE_timer_cb()。检查用户\u app\u adv\u start()。一旦计时器过期,航班上的制造商特定数据将更新,广告将停止,设备将进入延长睡眠模式。制造数据存储在保留RAM中,因此当按下按钮唤醒芯片时,广告日期将被更新。如果要在设备播发广告时更新制造商数据,应设置第二个计时器。因此,您将有一个计时器来停止广告,第二个计时器来更新制造的特定数据。

谢谢,PM_Dialog

anushiya
离线
最后看到:11个月10个小时前
加入:2017-12-20 02:30
谢谢您。我将升级到6

谢谢您。我将升级到6.0.10

>所以当芯片被按下按钮唤醒时,广告日期将被更新。

我想要一个周期性的叫醒,而不是按按钮叫醒。没有来自外部世界的互动。

>如果要在设备播发广告时更新制造商数据,应设置第二个计时器。因此,您将有一个计时器来停止广告,第二个计时器来更新制造的特定数据。

我不需要这个。醒来,传送,更新,睡眠对我来说很好。

在完整的函数中,如果我像我提到的那样安排它可以吗?

谢谢你!

你好,

我下载了SDK 6.0.10.511,并做了您建议的更改。

  1. 将user_config.h头文件中user_adv_conf结构的.mode项更改为gap_broadster_mode
  • 从GAP_GEN_可发现模式更改为GAP_广播模式

  1. 将user_config.h头文件中user_gapm_conf结构的.ROLE项更改为GAP_ROLE_BROADCASTER。
  • 从GAP_GEN_DISCOVERABLE改为gap_role_broadcasting

  1. Add cmd=app_easy_gap_non_connectable_adversed_get_active();而不是cmd=app_easy_gap_undirected_advision_get_active();在user_sleepmode.c文件的user_app_adv_start()函数中

  1. 添加应用程序_easy_gap_non_connectable_Advertised_start();而不是应用程序_easy_gap_undirected_Advertised_start();在user_u-sleepmode.c文件的user_-app_adv_start()函数中

  1. 将user_app_on_adv_noncn_complete()函数添加为user_app_adv_undirective_complete()。此函数将在不可连接广告完成时触发。
  • 在user_sleepmode.c中添加为

无效用户应用程序打开未完成(uint8状态)

//安排下一次广告数据更新

app_adv_data_update_timer_used=app_easy_timer(app_adv_data_update_TO,adv_data_update_timer_cb);

  • 在user_sleepmode.c补充道

无效用户应用程序处于未完成状态(uint8状态);

  1. 在user\u callback\u config.h头文件的user\u app\u callbacks结构中添加user\u app\u on\u adv\u non\u complete,如下所示:。app\u on\u adv\u unddirective\u complete=user\u app\u adv\u unddirective\u complete,
    • 改变了

.app_on_adv_nonconn_complete =零,

作为

.app\u on\u adv\u noncn\u complete=用户app\u adv\u noncn\u complete,

(与SDK6.0.4.326类似)

  1. 通过上述更改,系统进入

案例GAPM_CANCEL:

如果(参数->状态!=间隙错误-无错误)

断言错误(0);

...

所以我不得不在app_easy_gap_advision_stop()上加上注释;在静态void adv_data_update_timer_cb()中

然后它就一直在传输。但还是同样的问题。

1) MNF_数据未更新,这意味着原始数据的最后两个字节在一段时间内为0000,并更新一次至0100,然后保持不变。

[{“时间戳”:“2019-06-13T07:14:09Z”,“类型”:“未知”,“mac”:“80EACA70005”,“bleName”:“rssi”:-39,“原始数据”:“03030A1811072F2A93A6BDD84152AC0B10992EC6FEED05FFCDAB0100”}]

2)电流消耗为2.5mA(见附件图片)

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨anushiya,

嗨anushiya,

让我检查一下,我会尽快给你回复。

谢谢,PM_Dialog

anushiya
离线
最后看到:11个月10个小时前
加入:2017-12-20 02:30
请问有什么最新消息吗?

请问有什么最新消息吗?

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
请尝试以下方法

请在SDK的干净ble_app_睡眠模式示例中尝试以下步骤。

如果您希望使用不可连接的广告,则应执行以下操作:

1修改用户_app_adv_start()以播发不可连接的数据包

void user\u app\u adv\u start(void){//计划下一次广告数据更新app\u adv\u data\u update\u timer\u used=app\u easy\u timer(app\u adv\u data\u update\u timer\u TO,adv\u data\u update\u timer\u cb);struct gapm\u start\u advision\u cmd*cmd=app\u easy\u gap\u不可连接的广告\u get\u active();//如果有足够的空间,则将制造商数据添加到初始广告或扫描响应数据中app_Add_ad_struct(cmd,&mnf_data,sizeof(struct mnf_specific_data_ad_structure),1);//在广告搜索期间使用OTP copy设置扩展睡眠设置扩展睡眠(true);app_easy_gap_non_connectable_advision_start()}

2.在user_callback_config.h中,将user_app_adv_undirect_complete从。app_on_adv_undirect_complete。app_on_adv_nonconn_complete

static void adv_data_update_timer_cb(){//如果mnd_data_index设置MSB,制造商数据存储在扫描响应uint8_t *mnf_data_storage = (mnf_data_index & 0x80) ?stored_scan_rsp_data: stored_adv_data;//更新制造商数据mnf_data_update();//更新广告数据(制造商数据)memcpy(mnf_data_storage + (mnf_data_index & 0x7F), &mnf_data, sizeof(struct mnf_specific_data_ad_structure);//动态更新广告数据app_easy_gap_update_adv_data(stored_adv_data, stored_adv_data_len, stored_scan_rsp_data, stored_scan_rsp_data_len);//停止广告空操作-按下一个按钮将唤醒系统// app_easy_gap_advertise_stop();//重启定时器- this line was missing app_adv_data_update_timer_used = app_easy_timer(APP_ADV_DATA_UPDATE_TO, adv_data_update_timer_cb);}

在此之后,广告数据的适当性数据应在每个APP_ADV_data_UPDATE_至秒时更新1。

谢谢,PM_Dialog

anushiya
离线
最后看到:11个月10个小时前
加入:2017-12-20 02:30
谢谢您的回复。

谢谢您的回复。尝试了这个,MNF_DATA正在更新。但smartsnippets仍然表示消耗2.5mA (Keil环境在下载代码后关闭)。这不意味着它不会进入睡眠模式吗。我得到了相同的波模式附加在我以前的消息。

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨anushiya,

嗨anushiya,

如果你觉得前面的答案有用,请标记为“接受”。

请说明测量睡眠电流所遵循的程序请注意,设备在广告间隔期间进入睡眠模式。

谢谢,PM_Dialog

anushiya
离线
最后看到:11个月10个小时前
加入:2017-12-20 02:30
在您提供的解决方案中

在你提供的解决方案中,我有一个问题:

在步骤2中,您请求在user_callback_config.h中移动user_app_adv_undirect_complete。app_on_adv_undirect_complete。app_on_adv_nonconn_complete。

什么时候需要做什么。应用程序在非直接应用程序上,并完成。应用程序已完成和未完成将有所不同,不是吗?我有

app_adv_data_update_timer_used=app_easy_timer(app_adv_data_update_TO,adv_data_update_timer_cb);

内部user_app_adv_non_connectable_complete函数和赋值。App_on_adv_nonconn_complete = user_app_adv_non_connectable_complete,并从

静态孔隙adv_data_update_timer_cb ()

但那没用。我可以知道为什么吗?

关于测量电流,我用两种方法测量。

1)使用智能片段和混合连接(JTAG和com端口)。(在使用booter下载了代码后,我尝试从开发板中删除JTAG跳线)。正确的图是0.5mA (Peack电流5mA, ave电流0.5mA)

2) 使用测试点TP6和相应的跨接线激活放大器(预计电流太小)。示波器上的测量值是智能代码段中接收到的值的100倍。

如果代码将DA14586放入睡眠模式,我希望电流在uA范围。

我下载了6.0.10.511的新版本,提取了代码,只更改了上面提到的3项。

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨anushiya,

嗨anushiya,

这个。应用程序在非直接应用程序上,并完成。app_on_adv_nonn_complete是两个完全不同的回调函数,它取决于您使用的广告过程。

  • app_on_adv_undirect_complete只会在应用程序中使用非直接广告时被触发。请检查SDK的ble_app_sleepmode示例
  • 只有在使用不可连接广告时,才会触发.app_on_adv_nonn_complete

但是,如果您停止广告程序,这两项都将被执行

在您的情况下,您正在使用不可连接的广告,因此如果您向BLE发送停止命令,则将执行app_on_adv_nonn_complete。

步骤3是静态void adv_data_update_timer_cb()。你能解释一下这行不通是什么意思吗?请指出静态无效adv_data_update_timer_cb()是否被触发?

请注意,如果您不停止广告,设备将永远不会进入永久睡眠状态,但它将在广告间隔期间进入睡眠状态。为了测量睡眠模式电流,强烈建议不要使用SmartSnippets工具箱。请检查本教程教程4:睡眠模式电流测量为了检查如何测量睡眠电流。

谢谢,PM_Dialog

anushiya
离线
最后看到:11个月10个小时前
加入:2017-12-20 02:30

你好,很抱歉回来晚了。我还是很困惑,想弄明白。

>。app_on_adv_undirect_complete和。App_on_adv_nonconn_complete是两个完全不同的回调函数,它取决于你正在使用的广告过程。

这也是我的问题。当它们是完全不同的两种功能时,你让我……在user_callback_config.h中,将user_app_adv_undirect_complete从。app_on_adv_undirect_complete。app_on_adv_nonconn_complete"当像那样移动和替换"user_app_adv_undirect_complete"与NULL我有一些问题。现在我两者都有了。”app_on_adv_undirect_complete。App_on_adv_nonconn_complete "与"user_app_adv_undirect_complete"一起工作。但是当我用一行创建“user_app_adv_non_connectable_complete”时,它不起作用。

//重新启动计时器-此行缺少app_adv_data_update_timer_used=app_easy_timer(app_adv_data_update_TO,adv_data_update_timer_cb);

但如果我把它作为最后一行

静态孔隙adv_data_update_timer_cb ()

它起作用了。

我主要担心的是,在两次传输之间,它似乎仍然没有休眠。

>注意,如果你不停止广告,设备将永远不会进入永久休眠,但它将进入休眠之间的广告间隔。

是,设备从启动时开始持续发送(广播)。所以我想让它在广告间隙进入休眠状态。

为了测量当前的性能,我使用了第29页的“UM-B-049 DA1458x开发工具包入门-Pro_v1.1.pdf”技术,而不是教程教程4:睡眠模式电流测量因为我需要在运行示例代码“ble_app_sleepmode”时测量14586子板电流消耗,并使用相同的示例代码“ble_app_sleepmode”测量自定义电路板上的电流消耗。

目前两者在CRO中测量250mV,其解释为2.5mA。(前附图片)。SmartSnippets工具箱功率分析器也可测量2.5mA。

在进行测量时,我关闭了Keil开发环境。(从本线程开始,情况就是这样)

现在我已经更改为SDK 6.0.10.511

谢谢你的帮助

anushiya
离线
最后看到:11个月10个小时前
加入:2017-12-20 02:30
嗨,我在用的时候注意到

您好,我注意到,当我将子板与DA14586一起使用时,如果我没有将默认的目标选择ble_app_sleepmode_585更改为ble_app_sleepmode_586,则电流消耗会高得多。如果目标选择是ble_app_sleepmode_586,则示波器上的电流测量基准地板为20mV,并且当连接a时在跨接接头J1之间串联的M表显示约4uA休眠模式电流和小于1mA的传输电流。

因此,我只剩下一个问题:在“.app_on_adv_nonn_complete”中建议采取什么操作,而不是复制与“.app_on adv_undirect_complete”相同的函数

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨anushiya,

嗨anushiya,

你能告诉我你最后是怎么配置你的设备的吗?你把它设置为外围模式使用非连接广告还是你把它设置为广播模式?

关于您的第二个问题,是的,您应该为DA14586设备构建一个项目,只要您使用该芯片,闪存就会带有适当的二进制图像。

谢谢,PM_Dialog

anushiya
离线
最后看到:11个月10个小时前
加入:2017-12-20 02:30
>你能告诉我怎么做吗

>请说明您最终是如何配置设备的?您将其设置为外围模式并使用不可连接的广告,还是将其设置为广播模式?

使用不可连接的广告。(我正在将我们的代码从6.0.4.326中的ble_app_示例移动到新的SDK 6.0.10.511 ble_app_睡眠模式示例中。我们的主板有一个外部RAM(因为我们也在从DA14585切换到DA14586,并且CS配置为高)。希望这是正确的方法。

你所说的“外围模式”是什么意思。有没有我错过的场景?上面我接受的答案有3个步骤,我在ble_app_睡眠模式示例中完成了这些步骤。

就像我在周二2019-07-02 09:43问的那样,我仍然不明白为什么。”app_on_adv_nonconn_complete”和“。App_on_adv_undirect_complete "要求指向相同的东西,什么是建议采取的操作"。App_on_adv_nonconn_complete "而不是仅仅复制相同的函数"。App_on_adv_undirect_complete "到"user_app_adv_undirect_complete"在user_callback_config.h?

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨anushiya,

嗨anushiya,

当非连接广告完成时,.app_on_adv_nonconn_complete回调将生效。然而,.app_on_adv_undirect_complete将在非直接发布完成时触发。在.app_on_adv_nonconn_complete中,你应该放上你自己的回调,当使用不可连接的广告时你想要执行。例如,如果你停止广告,设备进入永久休眠模式,你可以使用以下功能:

空白user_app_non_conn_complete (uint8_t状态)

//禁用BLE和timer事件的唤醒。只有外部(GPIO)唤醒事件才能唤醒处理器。

如果(状态==间隙错误已取消)

拱门可外接唤醒开启();

//配置唤醒按钮

app_button_enable ();

谢谢,PM_Dialog

anushiya
离线
最后看到:11个月10个小时前
加入:2017-12-20 02:30
>在.app\u on\u adv\n中

>在.app_on_adv_nonconn_complete中,当使用非连接广告时,你应该放上你自己想要执行的回调。

我完全同意。因此,我提出以下问题:

我有

app_adv_data_update_timer_used=app_easy_timer(app_adv_data_update_TO,adv_data_update_timer_cb);

内部user_app_adv_non_connectable_complete函数和赋值。App_on_adv_nonconn_complete = user_app_adv_non_connectable_complete,并从

静态孔隙adv_data_update_timer_cb ()

但那没用。我可以知道为什么吗?

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨anushiya,

嗨anushiya,

对耽搁表示歉意。因为您停止了不可连接的广告,并且配置了。app_on_adv_noncon_complete=用户_app_adv_non_connectable_complete,应触发用户_app_adv_non_connectable_complete。能否请您在调试模式下运行代码,并在设备停止广告后尝试查找代码的位置?哪个功能被触发?

谢谢,PM_Dialog