【已解决】ERROR: Failed to rbWrite
本帖最后由 bigfanofloT 于 2017-3-24 12:09 编辑硬件为:NXP KV31F 开发板+GoKit V2.2 Shield
从云端生成MCU_Common_source
移植上电后,出现如下错误:
WiFi2MCU[ 204: 9]: ff ff 00 05 01 00 00 00 06
MCU2WiFi[ 207: 116]: ff ERROR: no memory 1
ERROR: Failed to rbWrite
ERROR: no memory 1
ERROR: Failed to rbWrite
ERROR: no memory 1
ERROR: Failed to rbWrite
ERROR: no memory 1
ERROR: Failed to rbWrite
ERROR: no memory 1
ERROR: Failed to rbWrite
ERROR: no memory 1
ERROR: Failed to rbWrite
ERROR: no memory 1
请问是什么原因呢?先谢谢大家了
板子RAM,ROM多大 这个错误不用管 这个错误的是打印打印的数据太多了,如果你不想看到可以把打印的宏去掉 各位老大 :我也遇到这样的问题 ERR: Failed to rbWriteERR: Failed to rbWrite ERR: Failed to rbWrite
解决思路:1、寻找出事现场 "ERR: Failed to rbWrite ".在SI中 查询整个项目只有
int32_t gizPutData(uint8_t *buf, uint32_t len)
{
int32_t count = 0;
if(NULL == buf)
{
GIZWITS_LOG("ERR: gizPutData buf is empty \n");
return -1;
}
count = rbWrite(&pRb, buf, len);
if(count != len)
{
GIZWITS_LOG("ERR: Failed to rbWrite \n");
return -1;
}
return count;
}
重要的事情: pRb整个就是一个数据队列,只是他没有被初化, 也就是说里面的指针为空所以后面访问的都是失败
解决办法:main函数中初始化代码的顺序调整:
/*网站自动生成代码*/
timerInit();
uartInit();
userInit();
gizwitsInit();
keyInit();
/*更改后代码*/
userInit();
gizwitsInit();
keyInit();
timerInit();/*按键处理*/
uartInit();/*uart2 和ESP8266 通讯*/
起始就是: 数据队列没有初始化 ,就用了。所以一直报错。调整后完全木问题。。。 各位问题以及解决:main函数:
#if 0
/*网站自动生成代码*/
timerInit();
uartInit();
userInit();
gizwitsInit();
keyInit();
#else
/*更改后代码*/
userInit();
gizwitsInit();
keyInit();
timerInit();/*按键处理*/
uartInit();/*UART2 和ESP8266 通讯*/
#endif
问题原因: pRb 数据buffer没有初始化,就开始调用。
页:
[1]