Browse Source

update,at指令状态封装成了枚举类型

external_Interrupt
tianjialong 2 years ago
parent
commit
06f67c995f
  1. 6
      MDK-ARM/LWIP.uvguix.29643
  2. 18
      usersrc/atcmd.c
  3. 19
      usersrc/atcmd.h

6
MDK-ARM/LWIP.uvguix.29643

@ -1964,9 +1964,9 @@
</Doc> </Doc>
<Doc> <Doc>
<Name>..\usersrc\atcmd.c</Name> <Name>..\usersrc\atcmd.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>155</TopLine>
<CurrentLine>189</CurrentLine>
<ColumnNumber>46</ColumnNumber>
<TopLine>149</TopLine>
<CurrentLine>182</CurrentLine>
<Folding>1</Folding> <Folding>1</Folding>
<ContractedFolders></ContractedFolders> <ContractedFolders></ContractedFolders>
<PaneID>0</PaneID> <PaneID>0</PaneID>

18
usersrc/atcmd.c

@ -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"); 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 == '?') if (*p == '?')
@ -72,7 +72,7 @@ unsigned char at_cmd_ip(unsigned char *p, unsigned char len)
printf("AT+OK\r\n"); 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指令解析 */ /* 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; unsigned char index = 0;
if (len < 4) if (len < 4)
@ -178,7 +177,10 @@ void at_cmd_processer_try_process_data(void)
if (s_at_cmd_uart_rx_buf_is_processing) 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(); sys_critical_enter();
s_at_cmd_uart_rx_off = 0; s_at_cmd_uart_rx_off = 0;
s_at_cmd_uart_rx_buf_is_processing = false; s_at_cmd_uart_rx_buf_is_processing = false;

19
usersrc/atcmd.h

@ -3,10 +3,13 @@
#include <stdio.h> #include <stdio.h>
#include <stdbool.h> #include <stdbool.h>
#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 typedef enum
{ {
@ -19,7 +22,7 @@ typedef enum
AT_END AT_END
} AT_Cmd; } AT_Cmd;
typedef unsigned char (*pFunc)(unsigned char *ptr, unsigned char len);
typedef AT_STATUS (*pFunc)(unsigned char *ptr, unsigned char len);
typedef struct typedef struct
{ {
@ -30,9 +33,9 @@ typedef struct
unsigned int mstrlen(const char *s); unsigned int mstrlen(const char *s);
int mstrncmp(const char *s1, const char *s2, int n); 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_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_push_data(uint8_t rxdata);
void at_cmd_processer_try_process_data(void); void at_cmd_processer_try_process_data(void);
Loading…
Cancel
Save