完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
10个回答
|
|
|
|
|
|
可以看看gapRole_ProcessGAPMsg()对GAP_DEVICE_INIT_DONE_EVENT的处理。这里在addr加入到advertising data。
case GAP_DEVICE_INIT_DONE_EVENT: [ gapDeviceInitDoneEvent_t *pPkt = (gapDeviceInitDoneEvent_t *)pMsg; bStatus_t stat = pPkt->hdr.status; if ( stat == SUCCESS ) [ // Save off the generated keys VOID osal_snv_write( BLE_NVID_IRK, KEYLEN, gapRole_IRK ); VOID osal_snv_write( BLE_NVID_CSRK, KEYLEN, gapRole_SRK ); // Save off the information VOID osal_memcpy( gapRole_bdAddr, pPkt->devAddr, B_ADDR_LEN ); gapRole_state = GAPROLE_STARTED; // Update the advertising data stat = GAP_UpdateAdvertisingData( gapRole_TaskID, TRUE, gapRole_AdvertDataLen, gapRole_AdvertData ); ] if ( stat != SUCCESS ) [ gapRole_state = GAPROLE_ERROR; ] notify = TRUE; ] break; |
|
|
|
shenzhenqide 发表于 2018-6-6 10:38 我用debug跟踪到这里确实是正确的蓝牙地址,可是当我调节广播间隔,使用HCI_LE_SetAdvParamCmd函数将间隔调整到1S后,蓝牙地址变成全FF了,这是怎么引起的? |
|
|
|
linlin10 发表于 2018-6-6 10:46 这样导致我多个设备都调整广播后,无法区分了 |
|
|
|
我用debug跟踪到这里确实是正确的蓝牙地址,可是当我调节广播间隔,使用HCI_LE_SetAdvParamCmd函数将间隔调整到1S后,蓝牙地址变成全FF了,这是怎么引起的? |
|
|
|
另外还有一个问题,我看代码里面有DevInfo_AddService,可是在IOS应用那边没有发现所定义的关于这一部分characteristic,比如2A23, 我IOS需要读取这些值。 |
|
|
|
linlin10 发表于 2018-6-6 11:16 关于地址, 本人试过, 把广播时间设置成1s, 丝毫没有影响, BTool正常查找到并显示出正确地址, 试过很多次了. 是不是你其他地方的代码有问题? 结果导致广播时间一变, 就产生并发症之类的导致这个问题? |
|
|
|
骑猪去天山 发表于 2018-6-6 11:46 参数设成HCI_PUBLIC_DEVICE_ADDRESS和HCI_RANDOM_DEVICE_ADDRESS的区别 |
|
|
|
Hi wang, public address就是芯片的物理地址, random的就是随机产生的一个地址. 用random的话就不能用white list,因为每次地址都会不一样. |
|
|
|
骑猪去天山 发表于 2018-6-6 11:46 我想问一下怎么设置连接时间为1s 因为我追踪到 static void gapRole_ProcessGAPMsg( gapEventHdr_t *pMsg ) [ case GAP_LINK_PARAM_UPDATE_EVENT: [ NPI_WriteTransport("14n",3); gapLinkUpdateEvent_t *pPkt = (gapLinkUpdateEvent_t *)pMsg; // Cancel connection param update timeout timer (if active) VOID osal_stop_timerEx( gapRole_TaskID, CONN_PARAM_TIMEOUT_EVT ); if ( pPkt->hdr.status == SUCCESS ) [ // Store new connection parameters gapRole_ConnInterval = pPkt->connInterval; gapRole_ConnSlaveLatency = pPkt->connLatency; gapRole_ConnTimeout = pPkt->connTimeout; printv(gapRole_ConnInterval); // Make sure there's no pending connection update procedure if ( osal_get_timeoutEx( gapRole_TaskID, START_CONN_UPDATE_EVT ) == 0 ) [ // Notify the application with the new connection parameters if ( pGapRoles_ParamUpdateCB != NULL ) [ NPI_WriteTransport("15n",3); (*pGapRoles_ParamUpdateCB)( gapRole_ConnInterval, gapRole_ConnSlaveLatency, gapRole_ConnTimeout ); ] ] ] ] break; ] 可是static gapRolesParamUpdateCB_t *pGapRoles_ParamUpdateCB=NULL ; 导致无法修改连接时间 我想问一下 怎么实现这个函数 这个函数里面做一些什么。由于回调函数学的不是很好,麻烦指点一下,谢谢了 |
|
|
|
只有小组成员才能发言,加入小组>>
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
1898 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3649 浏览 4 评论
5032 浏览 0 评论
请问如何用DM368对RGB格式的图片数据进行编码生成JPEG格式图片?
1736 浏览 1 评论
9386 浏览 8 评论
CC3100BOOST使用CC3200lunchXL进行烧录
670浏览 2评论
717浏览 1评论
TMS320F28034: 利用C2prog通过SCI给TMS320F28034烧录程序,出现错误提示:Bootloading... failed (invalid echo)!
678浏览 1评论
求DLPC350 Programmer’s Guide User's Guide 中文版说明书
1200浏览 1评论
1779浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-27 07:07 , Processed in 0.538009 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号