兩個CH582M藍(lán)牙通信一個作為主機(jī),一個作為從機(jī)。
主機(jī)連接到從機(jī)以后,會不定時發(fā)送數(shù)據(jù)給從機(jī)。
有時候發(fā)送突然返回錯誤,而且這個錯誤一直無法恢復(fù),兩個藍(lán)牙鏈接正常
res?=?GATT_WriteCharValue(centralConnHandle,?&req,?centralTaskId); ????????if(res?==?SUCCESS) ????????{ ????????????PRINT("write:?%02X??ok\n",?centralCharVal); ????????} ????????else ????????{ ????????????PRINT("write:?%02X??fail:%d\n",?centralCharVal,?res); ????????????GATT_bm_free((gattMsg_t?*)&req,?ATT_WRITE_REQ); ????????}
查看錯誤碼,發(fā)現(xiàn)是Pending和timeout錯誤
#define?blePending??????????????????????0x16???//!<?Waiting #define?bleTimeout??????????????????????0x17???//!<?Timed?out?performing?function
如果一旦出現(xiàn)這種返回錯誤,后面的發(fā)送都會失敗一直是這樣 。除了重啟和斷開鏈接,還有其他辦法恢復(fù)嗎?
我想在不斷開鏈接的情況下把錯誤恢復(fù)了錯誤繼續(xù)發(fā)送
熱門產(chǎn)品 :
CH32X035: 32位USB+USB PD單片機(jī)