You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.5 KiB
46 lines
1.5 KiB
#pragma once
|
|
#include "main.h"
|
|
#include <stdio.h>
|
|
#include <stdbool.h>
|
|
|
|
typedef enum
|
|
{
|
|
AT_SUCCESS = 0, /* 指令正常 */
|
|
AT_ERR, /* 指令异常 */
|
|
AT_ERR_UNINVAIL, /* 没有对应指令 */
|
|
AT_ERR_FUN_UNUSED /* 没有可执行函数 */
|
|
} AT_STATUS;
|
|
|
|
typedef enum
|
|
{
|
|
AT_CMD_TEST = 0, /* 测试指令 */
|
|
AT_CMD_IP, /* 设置IP */
|
|
AT_CMD_GW, /* 设置网关 */
|
|
AT_CMD_NETMASK, /* 设置子网掩码 */
|
|
AT_CMD_OBTAINING_IP_MODE, /* 设置网络模式 */
|
|
AT_CMD_MAC, /* MAC地址 */
|
|
|
|
AT_END
|
|
} AT_Cmd;
|
|
|
|
typedef AT_STATUS (*pFunc)(unsigned char *ptr, unsigned char len);
|
|
|
|
typedef struct
|
|
{
|
|
AT_Cmd cmd; /* 指令序号 */
|
|
unsigned char *str; /* 指令内容 */
|
|
pFunc cb; /* 指令执行 */
|
|
} AT_cmd_func;
|
|
|
|
unsigned int mstrlen(const char *s);
|
|
int mstrncmp(const char *s1, const char *s2, int n);
|
|
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);
|
|
AT_STATUS at_cmd_mac(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);
|
|
void at_cmd_processer_try_process_data(void);
|