AT.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef __AT_H
  2. #define __AT_H
  3. #include <stdint.h>
  4. #define WAKE_GPIO GPIOE
  5. #define WAKE_GPIO_Pin GPIO_Pin_5 // 睡眠的引脚
  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. void AT_Handle(void);
  34. // 日志
  35. void Log_SendArray(uint8_t * arr, uint16_t len);
  36. void Log_SendArray_Debug(uint8_t * arr, uint16_t len);
  37. void Log_Printf(char *format, ...);
  38. void Log_Printf_Debug(char *format, ...);
  39. // 定时器
  40. void my_timer(void);
  41. uint32_t get_time(void);
  42. uint32_t get_time_diff(uint32_t time);
  43. #endif