ESP32 运行bluedroid中的例程bt_spp_acceptor每次传输几分钟就会出错重启

xiaomo
Posts: 4
Joined: Tue May 31, 2022 2:09 am

ESP32 运行bluedroid中的例程bt_spp_acceptor每次传输几分钟就会出错重启

Postby xiaomo » Wed Jun 22, 2022 7:52 am

我使用的ESP32 Dev开发板运行修改自bt_spp_acceptor的例程,就用它来传输八个压力传感器和一个MPU6050模块的数据,连接上传输几分钟后就出现下面这种情况

E (429911) BT_BTC: btc_spp_rfcomm_inter_cb btc_transfer_context failed
E (429961) BT_BTC: btc_spp_rfcomm_inter_cb btc_transfer_context failed
E (430061) BT_BTC: btc_spp_arg_deep_copy 7 osi_maloc faild

assert failed: fixed_queue_enqueue fixed_queue.c:135 (data != NULL)
Backtrace:0x40081be2:0x3ffcd9c00x400912e9:0x3ffcd9e0 0x40096901:0x3ffcda00 0x400ed03f:0x3ffcdb20 0x400d97ad:0x3ffcdb40 0x400da07a:0x3ffcdc00 0x400ec92d:0x3ffcdc30 0x400edbc0:0x3ffcdc50 0x40094109:0x3ffcdc70

然后就重启了...

我也没有在回调函数中发送,重新创建了一个低优先级的任务来专门发送蓝牙数据,另一个高优先级的任务来处理传感器数据

ESP_XuLZ
Posts: 173
Joined: Fri Mar 26, 2021 6:04 am

Re: ESP32 运行bluedroid中的例程bt_spp_acceptor每次传输几分钟就会出错重启

Postby ESP_XuLZ » Thu Jun 23, 2022 2:48 am

E (430061) BT_BTC: btc_spp_arg_deep_copy 7 osi_maloc faild
2022-06-23_10-43.png
2022-06-23_10-43.png (32.11 KiB) Viewed 1776 times
应该是没申请到内存, 你可以在在你代码中每隔一小段时间打印下内存,检测代码是否有内存泄露
如果没内存泄漏,参考这篇文档优化下内存: https://docs.espressif.com/projects/esp ... usage.html

Who is online

Users browsing this forum: No registered users and 113 guests