AT.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #ifndef __AT_H
  2. #define __AT_H
  3. #include <stdint.h>
  4. //#define NBFLAG 200
  5. #define _4GFLAG 100 //4G开关,不能数字开头
  6. // AT指令状态
  7. enum AT_Status
  8. {
  9. AT_Status_None, // 空闲
  10. AT_Status_Using, // 使用
  11. };
  12. struct AT_Struct
  13. {
  14. enum AT_Status status;
  15. uint8_t result[512];
  16. uint16_t result_length;
  17. };
  18. // 获取AT指令返回的长度
  19. uint16_t AT_result_length(void);
  20. // 获取AT指令返回的内容
  21. uint8_t * AT_result(void);
  22. // 发送AT指令,二进制
  23. void AT_Send_Bytes(uint8_t * CMD, uint16_t length);
  24. // 发送AT指令,字符串
  25. void AT_Send_String(char * CMD);
  26. // 清空AT指令
  27. void AT_Clear(void);
  28. // 清空AT指令返回的结果
  29. void AT_Clear_Result(void);
  30. // 设置AT指令的状态
  31. void AT_Set_Status(enum AT_Status status);
  32. // 获取AT指令的状态
  33. enum AT_Status AT_Get_Status(void);
  34. // AT监听
  35. void AT_Handle(void);
  36. // 日志
  37. void Log_SendArray(uint8_t * arr, uint16_t len);
  38. void Log_SendArray_Debug(uint8_t * arr, uint16_t len);
  39. void Log_Printf(char *format, ...);
  40. void Log_Printf_Debug(char *format, ...);
  41. // 定时器
  42. void my_timer(void);
  43. struct TIMER_Struct
  44. {
  45. uint32_t time;
  46. uint8_t flag;
  47. };
  48. uint32_t time_get(struct TIMER_Struct * timer);
  49. void time_clear(struct TIMER_Struct * timer);
  50. uint32_t AT_wait_time(void);
  51. #endif