1 : uint8 enable_update_request = DEFAULT_ENABLE_UPDATE_REQUEST; // –> #define DEFAULT_ENABLE_UPDATE_REQUEST TRUE
2 : GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_ENABLE, sizeof( uint8 ), &enable_update_request );
3: static void gapRole_ProcessGAPMsg( gapEventHdr_t *pMsg )
我打印了 :debugoutdat1(pMsg->opcode,"opcode="); 有时候启动设备后 GAP_LINK_ESTABLISHED_EVENT 就没有执行 GAP_LINK_PARAM_UPDATE_EVENT switch ( pMsg->opcode )
4: GAPRole_SetParameter( uint16 param, uint8 len, void *pValue ) —
case GAPROLE_PARAM_UPDATE_ENABLE: // 更新参数请求 【 就是这 有时候切进不了 】
【!】 我该怎么样才能保证 每次设备启动后 都能成功的更新与IOS 设备的链接参数 如何更新参数失败后 我该怎么从新调用那些函数进行参数更新呢?
请给以详细点的解答
admin admin1:
thinkcore wu ,
我记得我之前做一个项目,是central设备与perpheral设备进行通信的时候,总是无缘无故断开连接,不知道什么原因。
后来是使能了一个连接更新参数,这样perpheral就会请求去更新连接参数。
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/59207.aspx
希望能帮到你~
thinkcore wu:
回复 admin admin1:
我的问题是不是 central 收到请求更新参数后 有时候不执行更新参数的请求 造成 Peripheral 没法进行参数更新 这样主从通信参数按照IOS 默认的参数进行 当任务处理时间大于链接间隔允许时间 就会断开链接? 那么请问我怎么才确保 IOS cenral 设备能够保证接受 Peripheral 的参数更新请求呢?