你好,
我有一个问题,得到芯片发送广告,因为我需要他们。
我需要做的是按照客户的要求,将两个不完整的服务id列表添加到单个广告中。
#定义USER_ADVERTISE_DATA \“\ x03”
ADV_TYPE_INCOMPLETE_LIST_16BIT_SERVICE_IDS \
\ \ x70 \ x31
\ \ x03
ADV_TYPE_INCOMPLETE_LIST_16BIT_SERVICE_IDS \
“\ x70 \ x30”
设置此值将导致调试器直接停止而不发送任何通告,它以nmi_handler.c结束。如果我删除一个不完整的列表,广告就会被发送。
工作原理:
#定义USER_ADVERTISE_DATA \“\ x03”
ADV_TYPE_INCOMPLETE_LIST_16BIT_SERVICE_IDS \
“\ x70 \ x31”
作品也:
#定义USER_ADVERTISE_DATA \“\ x03”
ADV_TYPE_INCOMPLETE_LIST_16BIT_SERVICE_IDS \
“\ x70 \ x30”
作品也:
#定义USER_ADVERTISE_DATA \“\ x03”
ADV_TYPE_INCOMPLETE_LIST_16BIT_SERVICE_IDS \
\ \ x70 \ x31
\ \ x03
ADV_TYPE_COMPLETE_LIST_16BIT_SERVICE_IDS \
“\ x70 \ x30”
我也尝试了这个DA14585在SDK 6.0.10.511…结果是一样的。
我希望有人能给我一个提示,为什么芯片拒绝发送两个id都不完整的广告。这可以通过使用sdk的基本示例复制,并将其设置为user_config.h中的广告数据。
最好的问候,
蒂姆
设备:
嗨TiKoEsope,
不允许在用户发布数据中有两个相同的标记,在本例中是ADV_TYPE_INCOMPLETE_LIST_16BIT_SERVICE_IDS。堆栈会返回一个错误,你会得到一个NMI。如果你想有两个不同的不完整服务,你应该定义如下的ser广告数据:
#define USER_ADVERTISE_DATA "\x05"\ ADV_TYPE_INCOMPLETE_LIST_16BIT_SERVICE_IDS\
“\ x70 \ x31 \ x70 \ x30”
长度:0x05 (adv数据中的5字节:0x02 0x70 0x31 0x70 0x30)
标签:ADV_TYPE_INCOMPLETE_LIST_16BIT_SERVICE_IDS (= 0x02)
第一个不完整的服务:0x70 0x31
2st不完整服务:0x70 0x30
谢谢,PM_Dialog