嗨支持,
我正在研究一个基于BLE_APP_PERITELAL DEMO项目的项目。我正在运行一个问题,其中app_add_ad_struct()函数断言错误并崩溃da。事情是,我并不试图将更多的数据放入广告和扫描响应数据包中。我目前正在使用MNF_Specific_Data_ad_structure结构,用于14个字节的制造商数据。还有25个字节的其他数据,如设备名称,adv_type_complete_list_16bit_service_ids等...我希望能够利用所有的广告和扫描响应空间,现在,如果我尝试添加更多,app_add_ad_struct()停止我的代码。我难以确定冲突所在的位置。您可以提供的任何洞察力都会受到赞赏。谢谢。
设备:
嗨dave.renzo,
当你说app_add_ad_struct()崩溃你的意思是580进入硬故障处理程序?如果您的程序达到硬故障,您可以检查程序崩溃的位置以追踪您的问题。请查看7.2.5.2节中的UM-B-051。通过打开您的记忆并将其设置为无符号,您可以通过查看您的程序计数器的第7个无符号的长号码来检查您的程序完全正常的位置。
谢谢mt_dialog.
它实际上并没有崩溃,它进入了断言声明,表示我试图将数据放在广告和扫描响应数据包中。现在解决了这个问题,发生了什么是我尝试使用app_add_ad_struct()的数据大小比广告数据包结束的更大程度,以便它被移动到扫描响应中。这让我在广告包中留下了6个字节的死区。为了利用这些,我将制造商拆分为两个数据结构,然后使用app_add_ad_struct()添加。