你好,
我试图在Da14531芯片上运行直接广告,但我看不到它的工作,以下是我添加的代码(基于empty_periphertial_template):
Static const struct default_app_operations user_default_app_operations = {.default_operation_adv = user_advertise_operation,};Void user_advertise_operation(Void){app_easy_gap_directed_advertise_start(0);//0和1的结果相同}
我试图通过将这部分代码添加到app_direct_advertise_complete fun中来重新启动广告。
...部分user_app_callbacks .app_on_adv_direct_complete = app_direct_advertise_complete,…Void app_direct_advertise_complete(const uint8_t x){app_easy_gap_directed_advertise_start(0);}
我用BLE sniffer应用程序检查adv数据包,我也尝试用DA14531和其他DA14531的中央实现应用程序发现我的设备。
如果我在app_direct_advertise_complete中插入一个断点,则x变量的值为0x45(表示超时错误)。
我有两个问题:
如果我必须在电话上看到包(在BLE sniffer应用程序中),如果我在user_adv_conf结构中的.peer_addr文件中输入了一个错误的中心地址?
如何检查广告是否有效(我只有一个开发工具包- usb板)?
设备:
嗨adam.stroz,
谢谢你的问题。在回答你的问题之前,我想先强调一下直接广告是为了快速建立联系。根据蓝牙LE规格,如果你知道中央BD地址,你可以直接做广告。
请注意,如果您使用移动电话作为中心设备,移动电话通常使用随机的BD地址,这意味着BD地址将不断变化,因此,您将无法知道它。只有在中区使用屋宇署的公共地址,而不是每次都更改的情况下,才可作定向广告。
Central的BD地址应该添加到user_config.h头文件中user_adv_config结构的.peer_addr_type中。然后,应该在user_app_adv_start()中使用app_easy_gap_directed_advertise_start() API,并在上面提到的字段中使用合适的BD地址。直接发布时,PDU中只包含设备的BD地址。
下面是一个简单的例子,展示了高占空比的定向广告。请遵循SDK6.0.14的ble_app_peripheral示例。
SDK位置:6.0.14.1114\projects\target_apps\ble_examples\ble_app_peripheral\Keil_5
1.使用下面的user_app_adv_start()。从user_peripheral.c文件中删除app_adv_data_update_timer_used并注释掉app_add_ad_struct()。
如果您运行它,将发生NMI。为了避免NMI,你有两个选择:
当定向广告超时时,将设备置于睡眠模式。为此,您应该在app_easy_gap_directed_advertise_start(0)之后添加arch_set_extended_sleep(false)。如果它仍然在活动模式下工作,它将等待中断,WDOG将超时并发生NMI。
B .使用。App_on_adv_direct_complete = user_app_adv_direct_complete以便重新启动广告。(与无定向广告相同)
3.当定向发布超时时,状态为GAP_ERR_TIMEOUT (= 0x45)。
当然,您应该在user_adv_config结构体中添加适当的BD地址
定向广告有两种模式:高占空比和低占空比
I]高占空比:广告持续1.28秒(广告间隔1.25ms)。如果没有中心连接到外设,就会发生超时。
低占空比:外围将永远使用user_config.h中定义的adv间隔做广告。
在这两种情况下,BLE嗅探器都可以用来捕获ADV_DIRECT_IND通告包。
谢谢,PM_Dialog
你好,
我测试了你写给我的信:
在DA14531模块上,我启动BLE中央应用程序,下面的配置(我使用公共BD地址仅用于测试目的):
在DA14531 (USB dev工具包)我启动ble_app_peripheral(与你写给我的设置):
但不幸的是,我在终端中看不到任何东西(我只看到其他设备),在BLE嗅探器中,我也看不到任何来自DA14531 (USB dev kit)的包。
嗨adam.stroz,
感谢你来论坛发帖。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请在//www.xmece.com/support
我们会在接下来的日子里修复bug /优化搜索和标记。
此票已载于://www.xmece.com/亚博电竞菠菜products/bluetooth-low-energy?post_id=11459#tab-support_tab_content
我会尽快回复你在新的论坛线程。
谢谢,PM_Dialog