问一下大家:
在使用at 模块时,将 #define AT_PRINT_RAW_CMD
功能打开 ,调试都没有问题,设备24小时测试都联接正常,
但将这个功能关掉 //#define AT_PRINT_RAW_CMD
后2分钟后,(已给服务器上传过25条数据)就发送失败!
如下:
rtconfig.h 设置为:
/* AT commands */
#define RT_USING_AT
#define AT_DEBUG
#define AT_USING_CLIENT
#define AT_CLIENT_NUM_MAX 1
#define AT_USING_SOCKET
//#define AT_USING_CLI
//#define AT_PRINT_RAW_CMD
#define AT_SW_VERSION_NUM 0x10200
打印信息为:
msh />--> 收到服务器E6 指令
--> 收到服务器E6 指令
--> 收到服务器E6 指令
[E/at.clnt] execute command (AT+CIPSEND?) timeout (800 ticks)!
[E/at.clnt] execute command (AT+CIPSEND=0,39) timeout (800 ticks)!
[E/at.clnt] execute command (AT+CIPSEND=0,78) timeout (800 ticks)!
[E/at.clnt] execute command (AT+CIPSEND=0,39) timeout (800 ticks)!
[E/at.clnt] execute command (AT+CIPSEND=0,78) timeout (800 ticks)!
[E/at.clnt] execute command (AT+CIPSEND=0,78) timeout (800 ticks)!
[E/at.clnt] Read response buffer failed. The Response buffer size is out of buffer size(128)!
[E/at.clnt] execute command (AT+CIPSEND=0,39) timeout (800 ticks)!
[E/at.clnt] execute command (AT+CIPSEND=0,78) timeout (800 ticks)!
后来我试着将:
_socket_send(int socket, const char *buff, size_t bfsz, enum at_socket_type type) 函数里的
resp = at_create_resp(128, 2, rt_tick_from_millisecond(8000));
rt_tick_from_millisecond(5000) 由5000 改为8000
static int at_get_send_size(int socket, size_t *size, size_t *acked, size_t *nacked)函数里的
at_response_t resp = at_create_resp(64, 0, rt_tick_from_millisecond(8000)); 也由5000改为8000
但还是没有效果,还是一样会出错,将#define AT_PRINT_RAW_CMD
这个宏打开就可以,请大家帮忙指点一下!
谢谢!
你好,请问一下这个问题是怎么解决的,我最近也遇到相同的问题了,谢谢