#ifndef __AT_H #define __AT_H #include //#define NBFLAG 200 #define _4GFLAG 100 //4G开关,不能数字开头 // AT指令状态 enum AT_Status { AT_Status_None, // 空闲 AT_Status_Using, // 使用 }; struct AT_Struct { enum AT_Status status; uint8_t result[512]; uint16_t result_length; }; // 获取AT指令返回的长度 uint16_t AT_result_length(void); // 获取AT指令返回的内容 uint8_t * AT_result(void); // 发送AT指令,二进制 void AT_Send_Bytes(uint8_t * CMD, uint16_t length); // 发送AT指令,字符串 void AT_Send_String(char * CMD); // 清空AT指令 void AT_Clear(void); // 清空AT指令返回的结果 void AT_Clear_Result(void); // 设置AT指令的状态 void AT_Set_Status(enum AT_Status status); // 获取AT指令的状态 enum AT_Status AT_Get_Status(void); // AT监听 void AT_Handle(void); // 日志 void Log_SendArray(uint8_t * arr, uint16_t len); void Log_SendArray_Debug(uint8_t * arr, uint16_t len); void Log_Printf(char *format, ...); void Log_Printf_Debug(char *format, ...); // 定时器 void my_timer(void); struct TIMER_Struct { uint32_t time; uint8_t flag; }; uint32_t time_get(struct TIMER_Struct * timer); void time_clear(struct TIMER_Struct * timer); uint32_t AT_wait_time(void); #endif