Browse Source

update(applications):替换标准库相关运用,优化程序内存

dev-rebuild
jujihjuji 5 months ago
parent
commit
df2c6cb1ff
  1. 10
      applications/VK_Client.c
  2. 59
      applications/drv_ec800k.c

10
applications/VK_Client.c

@ -15,7 +15,7 @@ char cmd_str[100] = {0};
/*关闭TCP连接*/
void client_tcp_close(Cclient_t *client) {
sprintf(cmd_str, AT_QICLOSE, client->connect_ID);
rt_sprintf(cmd_str, AT_QICLOSE, client->connect_ID);
BSP_LTE_SendCmd(cmd_str, DEFAULT_EXPECT, DEFAULT_ERROR, LTE_CMD_WAIT_NORMAL);
// client->connect_sta = false;
// client->error_cnt = 0;
@ -112,9 +112,9 @@ int16_t client_tcp_connect(Cclient_t *client) {
// 2, 打开链接
memset(cmd_cmd, 0, sizeof(cmd_cmd));
memset(cmd_str, 0, sizeof(cmd_str));
sprintf(cmd_cmd, AT_QIOPEN_TRANS /*AT_QIOPEN_FORW*/, client->connect_ID,
rt_sprintf(cmd_cmd, AT_QIOPEN_TRANS /*AT_QIOPEN_FORW*/, client->connect_ID,
client->mode, client->ip, client->port);
sprintf(cmd_str, "+QIOPEN: %d,0", client->connect_ID);
rt_sprintf(cmd_str, "+QIOPEN: %d,0", client->connect_ID);
/*打开socket, 这个模块他不返回+QIOPEN:字符串*/
while (0 != BSP_LTE_SendCmd(cmd_cmd, CONNECTE_OK, DEFAULT_ERROR,
@ -142,7 +142,7 @@ int16_t client_tcp_connect(Cclient_t *client) {
#ifdef LINK_4G
char buf[128] = {0};
sprintf(buf, "{\"sn\":\"%s\",\"client_id\":\"%s\",\"csq\":\"%d\"}\r\n", lte_dev.iccid,
rt_sprintf(buf, "{\"sn\":\"%s\",\"client_id\":\"%s\",\"csq\":\"%d\"}\r\n", lte_dev.iccid,
lte_dev.imei,lte_dev.csq);
rt_device_write(lte_dev.com_dev, 0, buf, sizeof(buf));
@ -179,7 +179,7 @@ int16_t client_yield(CLte_dev_t *pLte_dev) {
/*收到TCP关闭的消息*/
if (strstr((const char *)pLte_dev->at_buf, CLOSED)) {
memset(cmd_str, 0, sizeof(cmd_str));
sprintf(cmd_str, "\"closed\",%d", pLte_dev->client1->connect_ID);
rt_sprintf(cmd_str, "\"closed\",%d", pLte_dev->client1->connect_ID);
if (NULL != strstr((char *)lte_dev.at_buf, cmd_str)) {
EC800K_Reset();
pLte_dev->client1->connect_sta = false;

59
applications/drv_ec800k.c

@ -154,9 +154,18 @@ void BSP_LTE_GetIMEI(char *pIMEI) {
}
void BSP_LTE_GetICCID(char *pICCID) {
char *start, *end = NULL;
while (0 != BSP_LTE_SendCmd(AT_ICCID, DEFAULT_EXPECT, DEFAULT_ERROR,
LTE_CMD_WAIT_LONG));
sscanf((const char *)lte_dev.at_buf, "\n+ICCID:%s\n", pICCID);
//sscanf((const char *)lte_dev.at_buf, "+ICCID:%s\n", pICCID);
start =
rt_strstr((const char *)lte_dev.at_buf, "+ICCID:") + rt_strlen("+ICCID:") + 1;
end = start;
while (*end != '\0' && *end != '\r' && *end != '\n') end++;
rt_size_t len = end - start;
rt_memcpy(pICCID, start, len);
pICCID[len] = '\0';
if (strlen(pICCID) < 10) {
BSP_LTE_GetICCID(pICCID);
}
@ -170,24 +179,54 @@ int16_t BSP_LTE_GetCGATT(int16_t retry) {
}
retry--;
} while (retry);
rt_kprintf("PS detached:[%s]", lte_dev.at_buf);
//rt_kprintf("PS detached:[%s]", lte_dev.at_buf);
return -1;
}
#define CSQ_CMD_RESP "+CSQ:"
// int BSP_LTE_GetCSQ(void) {
// int ret = -1;
// if (0 == BSP_LTE_SendCmd(AT_CSQ, DEFAULT_EXPECT, DEFAULT_ERROR,
// LTE_CMD_WAIT_LONG)) {
// char *start, *end , *temp= NULL;
// start = rt_strstr((const char *)lte_dev.at_buf, CSQ_CMD_RESP) +
// rt_strlen(CSQ_CMD_RESP);
// end = start;
// while (*end != ',')
// end++;
// rt_size_t len = end - start;
// rt_memcpy(temp,start,len);
// temp[len] = '\0';
// ret = atoi(temp);
// }
// return ret;
// }
int BSP_LTE_GetCSQ(void) {
int ret = -1;
char *pstr = NULL;
char *start;
if (0 == BSP_LTE_SendCmd(AT_CSQ, DEFAULT_EXPECT, DEFAULT_ERROR,
if (0 != BSP_LTE_SendCmd(AT_CSQ, DEFAULT_EXPECT, DEFAULT_ERROR,
LTE_CMD_WAIT_LONG)) {
pstr = (char *)lte_dev.at_buf;
if (NULL != (pstr = strstr(pstr, CSQ_CMD_RESP))) {
pstr += strlen(CSQ_CMD_RESP);
pstr += strspn(pstr, " \t");
sscanf((const char *)pstr, "%d,", (int *)&ret);
}
return -1;
}
start = rt_strstr((const char *)lte_dev.at_buf, CSQ_CMD_RESP);
if (start == RT_NULL) {
return -1;
}
start += rt_strlen(CSQ_CMD_RESP) + 1;
ret = 0;
while (*start >= '0' && *start <= '9') {
ret = ret * 10 + (*start - '0');
start++;
}
return ret;
}

Loading…
Cancel
Save