两个CH582M蓝牙通信一个作为主机,一个作为从机。
主机连接到从机以后,会不定时发送数据给从机。
有时候发送突然返回错误,而且这个错误一直无法恢复,两个蓝牙链接正常
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); }
查看错误码,发现是Pending和timeout错误
#define blePending 0x16 //!< Waiting #define bleTimeout 0x17 //!< Timed out performing function
如果一旦出现这种返回错误,后面的发送都会失败一直是这样 。除了重启和断开链接,还有其他办法恢复吗?
我想在不断开链接的情况下把错误恢复了错误继续发送
热门产品 :
CH641: PD及无线充电专用MCU