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.

38 lines
1.2 KiB

2 years ago
2 years ago
2 years ago
2 years ago
  1. #pragma once
  2. #include "main.h"
  3. #include <stdio.h>
  4. #include <stdbool.h>
  5. #define AT_SUCCESS (0) /* 指令正常 */
  6. #define AT_ERR (1) /* 指令异常 */
  7. #define AT_ERR_UNINVAIL (2) /* 没有对应指令 */
  8. #define AT_ERR_FUN_UNUSED (3) /* 没有可执行函数 */
  9. typedef enum
  10. {
  11. AT_CMD_TEST = 0, /* 测试指令 */
  12. AT_CMD_IP, /* 设置IP */
  13. AT_CMD_GW, /* 设置网关 */
  14. AT_CMD_NETMASK, /* 设置子网掩码 */
  15. AT_CMD_NETMODULE, /* 设置网络模式 */
  16. AT_END
  17. } AT_Cmd;
  18. typedef unsigned char (*pFunc)(unsigned char *ptr, unsigned char len);
  19. typedef struct
  20. {
  21. AT_Cmd cmd; /* 指令序号 */
  22. unsigned char *str; /* 指令内容 */
  23. pFunc cb; /* 指令执行 */
  24. } AT_cmd_func;
  25. unsigned int mstrlen(const char *s);
  26. int mstrncmp(const char *s1, const char *s2, int n);
  27. unsigned char at_cmd_test(unsigned char *p, unsigned char len);
  28. unsigned char at_cmd_ip(unsigned char *p, unsigned char len);
  29. unsigned char AT_cmd_search(unsigned char *p, unsigned char len);
  30. unsigned char at_cmd_parse(unsigned char *p, unsigned char len);
  31. void at_cmd_processer_push_data(uint8_t rxdata);
  32. void at_cmd_processer_try_process_data(void);