From ea38c3d45885aae6789ffda6f117ba5243e268c6 Mon Sep 17 00:00:00 2001 From: tianjialong Date: Thu, 2 Mar 2023 16:59:37 +0800 Subject: [PATCH] =?UTF-8?q?at=E6=8C=87=E4=BB=A4=E4=BF=AE=E6=94=B9=E7=BD=91?= =?UTF-8?q?=E7=BB=9C=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MDK-ARM/LWIP.uvguix.29643 | 6 +++--- usersrc/atcmd.c | 22 +++++++++++++++++++++- usersrc/atcmd.h | 3 ++- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/MDK-ARM/LWIP.uvguix.29643 b/MDK-ARM/LWIP.uvguix.29643 index 3bdc5dc..4c179e6 100644 --- a/MDK-ARM/LWIP.uvguix.29643 +++ b/MDK-ARM/LWIP.uvguix.29643 @@ -3705,9 +3705,9 @@ ..\usersrc\atcmd.c - 0 - 37 - 47 + 5 + 78 + 110 1 0 diff --git a/usersrc/atcmd.c b/usersrc/atcmd.c index f51e7f8..cc6ba90 100644 --- a/usersrc/atcmd.c +++ b/usersrc/atcmd.c @@ -46,7 +46,7 @@ const AT_cmd_func at_cmd_func[] = { {AT_CMD_IP, "AT+IP=", at_cmd_ip}, {AT_CMD_GW, "AT+GW=", at_cmd_gw}, {AT_CMD_NETMASK, "AT+NETMASK=", at_cmd_netmask}, - {AT_CMD_NETMODULE, "AT+NETMODULE=", NULL}, + {AT_CMD_OBTAINING_IP_MODE, "AT+OBTAINING_IP_MODE=", at_cmd_obtaining_ip_mode}, {AT_END, NULL, NULL}}; @@ -102,6 +102,26 @@ AT_STATUS at_cmd_netmask(unsigned char *p, unsigned char len) at_address_cmd_template(config_get()->netmask); } +AT_STATUS at_cmd_obtaining_ip_mode(unsigned char *p, unsigned char len) +{ + if (*p == '?') + { + printf("config obtaining_ip_mode:%d\r\n", config_get()->obtaining_ip_mode); + } + else + { + if (((*p != '0') && (*p != '1')) || (len > 1)) + { + printf("AT+ERR\r\n"); + return AT_ERR; + } + config_get()->obtaining_ip_mode = *p - 48; /* ascii码字符0十进制为48 */ + config_dump_config(); + printf("AT+OK\r\n"); + } + return AT_SUCCESS; +} + /* 查找指令表中对应的指令 */ unsigned char AT_cmd_search(unsigned char *p, unsigned char len) { diff --git a/usersrc/atcmd.h b/usersrc/atcmd.h index 3bb5505..9e0722e 100644 --- a/usersrc/atcmd.h +++ b/usersrc/atcmd.h @@ -17,7 +17,7 @@ typedef enum AT_CMD_IP, /* 设置IP */ AT_CMD_GW, /* 设置网关 */ AT_CMD_NETMASK, /* 设置子网掩码 */ - AT_CMD_NETMODULE, /* 设置网络模式 */ + AT_CMD_OBTAINING_IP_MODE, /* 设置网络模式 */ AT_END } AT_Cmd; @@ -37,6 +37,7 @@ AT_STATUS at_cmd_test(unsigned char *p, unsigned char len); AT_STATUS at_cmd_ip(unsigned char *p, unsigned char len); AT_STATUS at_cmd_gw(unsigned char *p, unsigned char len); AT_STATUS at_cmd_netmask(unsigned char *p, unsigned char len); +AT_STATUS at_cmd_obtaining_ip_mode(unsigned char *p, unsigned char len); unsigned char AT_cmd_search(unsigned char *p, unsigned char len); AT_STATUS at_cmd_parse(unsigned char *p, unsigned char len); void at_cmd_processer_push_data(uint8_t rxdata);