移植到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
这个打印是内存溢出了。你要看模组是否进入airlink模式建议同时打印模组的GPIO2口来调试 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后不会有这种溢出的代码信息了 yukai 发表于 2017-7-31 11:16
#define MAX_PACKAGE_LEN (sizeof(devStatus_t)+10)///< 数据缓冲区最大长度
#define RB_MAX_LEN ...
我也遇到了,大佬你怎么解决的
页:
[1]