From 06f67c995ff121f2530119d65736ba7844dd9f40 Mon Sep 17 00:00:00 2001 From: tianjialong Date: Thu, 2 Mar 2023 12:06:29 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=8Cat=E6=8C=87=E4=BB=A4=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=B0=81=E8=A3=85=E6=88=90=E4=BA=86=E6=9E=9A=E4=B8=BE?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MDK-ARM/LWIP.uvguix.29643 | 6 +++--- usersrc/atcmd.c | 20 +++++++++++--------- usersrc/atcmd.h | 19 +++++++++++-------- 3 files changed, 25 insertions(+), 20 deletions(-) diff --git a/MDK-ARM/LWIP.uvguix.29643 b/MDK-ARM/LWIP.uvguix.29643 index b4c71fe..e7fca31 100644 --- a/MDK-ARM/LWIP.uvguix.29643 +++ b/MDK-ARM/LWIP.uvguix.29643 @@ -1964,9 +1964,9 @@ ..\usersrc\atcmd.c - 0 - 155 - 189 + 46 + 149 + 182 1 0 diff --git a/usersrc/atcmd.c b/usersrc/atcmd.c index 6eae3c1..e50dd4b 100644 --- a/usersrc/atcmd.c +++ b/usersrc/atcmd.c @@ -10,7 +10,7 @@ volatile uint16_t s_at_cmd_uart_rx_off = 0; volatile bool s_at_cmd_uart_rx_buf_is_processing = false; static uint8_t at_rx_buf[at_processer_rx_buf_size]; -//static uint8_t at_tx_buf[at_processer_tx_buf_size]; +// static uint8_t at_tx_buf[at_processer_tx_buf_size]; /* AT指令表 */ const AT_cmd_func at_cmd_func[] = { @@ -52,14 +52,14 @@ int mstrncmp(const char *s1, const char *s2, int n) } /* 指令执行函数 */ -unsigned char at_cmd_test(unsigned char *p, unsigned char len) +AT_STATUS at_cmd_test(unsigned char *p, unsigned char len) { printf("AT+OK\r\n"); - return 0; + return AT_SUCCESS; } -unsigned char at_cmd_ip(unsigned char *p, unsigned char len) +AT_STATUS at_cmd_ip(unsigned char *p, unsigned char len) { if (*p == '?') @@ -72,7 +72,7 @@ unsigned char at_cmd_ip(unsigned char *p, unsigned char len) printf("AT+OK\r\n"); } - return 0; + return AT_SUCCESS; } /* 查找指令表中对应的指令 */ @@ -98,10 +98,9 @@ unsigned char AT_cmd_search(unsigned char *p, unsigned char len) } /* AT指令解析 */ -unsigned char at_cmd_parse(unsigned char *p, unsigned char len) +AT_STATUS at_cmd_parse(unsigned char *p, unsigned char len) { - - unsigned char ret = AT_SUCCESS; + AT_STATUS ret = AT_SUCCESS; unsigned char index = 0; if (len < 4) @@ -178,7 +177,10 @@ void at_cmd_processer_try_process_data(void) if (s_at_cmd_uart_rx_buf_is_processing) { - at_cmd_parse(at_rx_buf, s_at_cmd_uart_rx_off); + if (at_cmd_parse(at_rx_buf, s_at_cmd_uart_rx_off) != AT_SUCCESS) + { + printf("at cmd parse error\r\n"); + } sys_critical_enter(); s_at_cmd_uart_rx_off = 0; s_at_cmd_uart_rx_buf_is_processing = false; diff --git a/usersrc/atcmd.h b/usersrc/atcmd.h index 4ddadad..a174d68 100644 --- a/usersrc/atcmd.h +++ b/usersrc/atcmd.h @@ -3,10 +3,13 @@ #include #include -#define AT_SUCCESS (0) /* 指令正常 */ -#define AT_ERR (1) /* 指令异常 */ -#define AT_ERR_UNINVAIL (2) /* 没有对应指令 */ -#define AT_ERR_FUN_UNUSED (3) /* 没有可执行函数 */ +typedef enum +{ + AT_SUCCESS = 0, /* 指令正常 */ + AT_ERR, /* 指令异常 */ + AT_ERR_UNINVAIL, /* 没有对应指令 */ + AT_ERR_FUN_UNUSED /* 没有可执行函数 */ +} AT_STATUS; typedef enum { @@ -19,7 +22,7 @@ typedef enum AT_END } AT_Cmd; -typedef unsigned char (*pFunc)(unsigned char *ptr, unsigned char len); +typedef AT_STATUS (*pFunc)(unsigned char *ptr, unsigned char len); typedef struct { @@ -30,9 +33,9 @@ typedef struct unsigned int mstrlen(const char *s); int mstrncmp(const char *s1, const char *s2, int n); -unsigned char at_cmd_test(unsigned char *p, unsigned char len); -unsigned char at_cmd_ip(unsigned char *p, unsigned char len); +AT_STATUS at_cmd_test(unsigned char *p, unsigned char len); +AT_STATUS at_cmd_ip(unsigned char *p, unsigned char len); unsigned char AT_cmd_search(unsigned char *p, unsigned char len); -unsigned char at_cmd_parse(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); void at_cmd_processer_try_process_data(void);