国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

cc2640官方demo更新連接參數service-CCservice

2019-11-09 18:46:19
字體:
來源:轉載
供稿:網友

背景

cc2640項目需要添加oad功能,為了降低功耗,默認連接參數設置的比較大,這將導致oad時間過長,此時需要在oad之前先更新一組較小的連接參數,提高oad的速度。

更新連接參數的api

/******************************************************************** * @fn GAPRole_SendUpdateParam * * @brief Update the parameters of an existing connection * * @param minConnInterval - the new min connection interval * @param maxConnInterval - the new max connection interval * @param latency - the new slave latency * @param connTimeout - the new timeout value * @param handleFailure - what to do if the update does not occur. * Method may choose to terminate connection, try again, * or take no action * * @return SUCCESS, bleNotConnected, or bleInvalidRange */bStatus_t GAPRole_SendUpdateParam(uint16_t minConnInterval, uint16_t maxConnInterval, uint16_t latency, uint16_t connTimeout, uint8_t handleFailure)

移植官方ccservice的回調函數

/********************************************************************* * @fn ccChangeCB * * @brief Callback from Connection Control indicating a value change * * @param paramID - parameter ID of the value that was changed. * * @return none */static void ccChangeCB( uint8 paramID ){ // CCSERVICE_CHAR1: read & notify only // CCSERVICE_CHAR: requested connection parameters if (paramID == CCSERVICE_CHAR2) { uint8_t buf[CCSERVICE_CHAR2_LEN]; // Get new connection parameters CcService_getParameter( CCSERVICE_CHAR2, buf); // Update connection parameters GAPRole_SendUpdateParam( BUILD_UINT16(buf[0],buf[1]), BUILD_UINT16(buf[2],buf[3]), // minConnInterval, maxConnInterval BUILD_UINT16(buf[4],buf[5]), BUILD_UINT16(buf[6],buf[7]), // slaveLatency, timeoutMultiplier GAPROLE_TERMINATE_LINK); } // CCSERVICE_CHAR3: Disconnect request else if (paramID == CCSERVICE_CHAR3) { // Any change in the value will terminate the connection GAPRole_TerminateConnection(); }}

更新現象

測試發現按照官方demo這樣直接更新連接參數,會導致斷開連接,細查發現是會導致死機

解決方法

分析導致死機可能是跟ti-rtos有關,沒有細查死機原因,解決這個死機問題,只需要將更新連接參數的接口放到其它地方執行,而不能在回調函數里面直接執行。

參考方法:使用定時器任務


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盐源县| 独山县| 黄浦区| 武宁县| 金沙县| 根河市| 栖霞市| 于田县| 靖江市| 灌南县| 海丰县| 西城区| 饶河县| 绥江县| 手机| 金昌市| 蓬安县| 南漳县| 多伦县| 察隅县| 南陵县| 长武县| 曲阳县| 阳东县| 兴城市| 兴山县| 阳山县| 静乐县| 滁州市| 泰兴市| 龙泉市| 乌拉特前旗| 河北省| 淄博市| 鄂州市| 麻阳| 任丘市| 宣城市| 新巴尔虎左旗| 清河县| 海宁市|