yukai 发表于 2017-7-28 10:02:11

移植到STM32时发生问题,printf出错误信息

本帖最后由 yukai 于 2017-7-28 10:08 编辑

模块用的是esp8266-12f,已经在调试软件上成功测试。移植到单片机发生下面的问题,希望厂家帮我看看呢

软件里面先执行复件模块,延时三秒让模块进入airlink模式,然后while(1)
{
userHandle();
gizwitsHandle((dataPoint_t *)¤tDataPoint);
}

下面的串品输出的信息,以下信息能不能确认软件接口成功了。包括TIM3定时1ms,和wifi模块通信的串口
Wifi Reset
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
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
,AirLink mode

Get One Packet!
valuelightStat Changed
changed, report data
Get One Packet!
Get One Packet!
Get One Packet!
Get One Packet!
Get One Packet!
Warning:gizProtocolResendData 5012 3011 0
Warning: timeout, resend data


boboP 发表于 2017-7-31 10:53:33

这个打印是内存溢出了。你要看模组是否进入airlink模式建议同时打印模组的GPIO2口来调试

yukai 发表于 2017-7-31 11:16:22

boboP 发表于 2017-7-31 10:53
这个打印是内存溢出了。你要看模组是否进入airlink模式建议同时打印模组的GPIO2口来调试 ...

#define MAX_PACKAGE_LEN    (sizeof(devStatus_t)+10)///< 数据缓冲区最大长度
#define RB_MAX_LEN          (MAX_PACKAGE_LEN*2)   ///< 环形缓冲区最大长度

以上是代码生成工具生成的 MAX_PACKAGE_LEN实际上只有12个字节,也就是RB_MAX_LEN 只有24字节,而你们网站上文档中写的是 #define MAX_PACKAGE_LEN960   我不知道以哪个为准,不过我改成960后不会有这种溢出的代码信息了

pzy 发表于 2019-9-9 11:13:13

yukai 发表于 2017-7-31 11:16
#define MAX_PACKAGE_LEN    (sizeof(devStatus_t)+10)///< 数据缓冲区最大长度
#define RB_MAX_LEN    ...

我也遇到了,大佬你怎么解决的
页: [1]
查看完整版本: 移植到STM32时发生问题,printf出错误信息