查询了EVT包里的所有项目,都没有从机在写回调函数里返回blepending的示例。头文件的文档里说返回blepending后需要自己调用bm_free来释放写请求的缓存,请问是直接在写回调函数里free还是什么地方?
热门产品 :
CH390:以太网控制器芯片
查询了EVT包里的所有项目,都没有从机在写回调函数里返回blepending的示例。头文件的文档里说返回blepending后需要自己调用bm_free来释放写请求的缓存,请问是直接在写回调函数里free还是什么地方?
出现pending是因为底层的收发接口函数的缓存不够,所以数据发送不成功且显示需等待。可以做如下的操作:
①将config.h文件中的BLE_BUFF_NUM参数给大一些,默认是5,可以配置为10;
②过10ms再进行调用发送函数;
③如果一直调用发送函数且一直出现pending,建议查看函数发送失败的时候有没有释放缓存。可能是发送函数失败并且不释放缓存,导致缓存一直不够;