两个CH582M蓝牙通信,通信总是会发送失败 返回码 22 和 23

两个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

如果一旦出现这种返回错误,后面的发送都会失败一直是这样 。除了重启和断开链接,还有其他办法恢复吗?


我想在不断开链接的情况下把错误恢复了错误继续发送



发送邮件至hy@wch.cn,我给你发个最新的库试试看。


已经发送了


已发送,请查收。


只有登录才能回复,可以选择微信账号登录