感谢您上传代码。让我检查并调试代码实现和配置,我会尽快回复您的结论。我将尝试使用PRO-DK复制您的问题,因此SW2(PIN1_1)将采用休眠功能(步骤2),SW3(PIN0_6)将采用唤醒功能。但是,我需要一些澄清来开始演示。如果GPIO和唤醒中断应该是有效的高还是高电平有效的话,你能告诉我吗?你提到你的代码不能工作,它不是广告。您是否尝试在调试模式下运行代码?固件是否已卡住或唯一的问题是它不是广告?在user_sleepmode.c中快速查看,我注意到在User_App_Adv_start()函数中,您正在使用app_easy_timer。这意味着广告将停止每个app_adv_data_update_to秒。 Please check the adv_data_update_timer_cb(). This callback will be triggered upon the timer expiration, and the then the app_easy_gap_advertise_stop() will be triggered. Although, let me debug a bit deeper your application and I will get back to you.
我让您在调试模式下运行代码,以确保您的固件不会被粘在某个地方或硬盘发生。请尝试在调试模式下再次运行代码并热连接调试器,然后在此之后,如果已发生NMI或WatchDog,请告诉我。如果您在尝试唤醒您的设备时,请您知道app_wakeup_cb()是否让我知道?如果是,则此函数中的“如果”条件是真或假的?此外,关于您的第一篇文章,您提到了当设备靴子应该宣传时。如果您正在进行BLE_APP_SLEEPMODE示例,则应触发.default_operation_adv = user_app_adv_start。请在user_app_adv_start()中添加一个断点,然后以调试模式运行代码。断点是否击中?调试代码的最佳做法是具有优化级-0(-O0)。因此,从Keil环境中导航到“C / C ++”选项卡的“C / C ++”选项卡,并将优化为Level-0(-O0)。
H Gak,
感谢您上传代码。让我检查并调试代码实现和配置,我会尽快回复您的结论。我将尝试使用PRO-DK复制您的问题,因此SW2(PIN1_1)将采用休眠功能(步骤2),SW3(PIN0_6)将采用唤醒功能。但是,我需要一些澄清来开始演示。如果GPIO和唤醒中断应该是有效的高还是高电平有效的话,你能告诉我吗?你提到你的代码不能工作,它不是广告。您是否尝试在调试模式下运行代码?固件是否已卡住或唯一的问题是它不是广告?在user_sleepmode.c中快速查看,我注意到在User_App_Adv_start()函数中,您正在使用app_easy_timer。这意味着广告将停止每个app_adv_data_update_to秒。 Please check the adv_data_update_timer_cb(). This callback will be triggered upon the timer expiration, and the then the app_easy_gap_advertise_stop() will be triggered. Although, let me debug a bit deeper your application and I will get back to you.
谢谢,PM_DIALOG.
大家好,
请找到您澄清的在线答案。
如果GPIO和唤醒中断应该是有效的高还是高电平有效的话,你能告诉我吗?“活跃低”
你提到你的代码不能工作,它不是广告。您是否尝试在调试模式下运行代码?“是的,我可以在调试模式下运行代码,而不是广告。”我正在使用BLE扫描器应用程序(android)来符合这一点”
固件是否被卡住或唯一的问题是它不是广告?“广告中唯一的问题”
PS:我只是遵循DA14580 EVK Pro套件中的“BLE_APP_SLEEP_MODE”示例项目。
谢谢,
嗨gak,
我让您在调试模式下运行代码,以确保您的固件不会被粘在某个地方或硬盘发生。请尝试在调试模式下再次运行代码并热连接调试器,然后在此之后,如果已发生NMI或WatchDog,请告诉我。如果您在尝试唤醒您的设备时,请您知道app_wakeup_cb()是否让我知道?如果是,则此函数中的“如果”条件是真或假的?此外,关于您的第一篇文章,您提到了当设备靴子应该宣传时。如果您正在进行BLE_APP_SLEEPMODE示例,则应触发.default_operation_adv = user_app_adv_start。请在user_app_adv_start()中添加一个断点,然后以调试模式运行代码。断点是否击中?调试代码的最佳做法是具有优化级-0(-O0)。因此,从Keil环境中导航到“C / C ++”选项卡的“C / C ++”选项卡,并将优化为Level-0(-O0)。
谢谢,PM_DIALOG.
大家好,
我已经在调试模式下运行代码。
是的,我正在使用BLE_APP_SLEEPMODE示例项目,我可以在user_app_adv_start()中添加的BladeS和Break点中的设备中的设备设置。
但我想在BLE_APP_SLEEPMODE示例中删除基于定时器的睡眠功能,睡眠/唤醒应该基于上面提到的GPIO引脚/ GPIO切换。
如何在BLE_APP_SLEEPMODE示例中删除基于计时器的睡眠?
你能为此提供支持吗?
谢谢,
嗨gak,
您是否意味着计时器进入User_App_Adv_Start(),该计时器停止广告并将设备配置为永久睡眠模式?如果是,则应删除它全部更改广告停止的回调。
谢谢,PM_DIALOG.