#include "stm32f10x.h" #include #include #include #include #include "Log_Module.h" #include "CONFIG.h" // 串口打印日志 void Log_SendByte(uint8_t Byte) { USART_SendData(USART1, Byte); while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); } void Log_SendString(char *String) { uint16_t i; for(i = 0; String[i] != '\0'; i ++) { Log_SendByte(String[i]); } } // 打印字节 void Log_SendArray(uint8_t * arr, uint16_t len) { uint16_t i; for(i = 0; i < len; i ++) { Log_SendByte(arr[i]); } } // 打印Hex void Log_SendHex(uint8_t * arr, uint16_t len) { uint16_t i; char hex[5]; for(i = 0; i < len; i ++) { sprintf(hex, "%02X", arr[i]); Log_SendString(hex); } } static char Log_String[1024]; void Log_Printf(char *format, ...) { memset(Log_String, 0, sizeof(Log_String)); va_list arg; va_start(arg, format); vsprintf(Log_String, format, arg); va_end(arg); Log_SendString(Log_String); } // 打印字节 void Log_SendArray_Debug(uint8_t * arr, uint16_t len) { if(DEBUG == 0) return; // 调试开关 Log_SendArray(arr, len); } // 打印的缓存 void Log_Printf_Debug(char *format, ...) { if(DEBUG == 0) return; // 调试开关 memset(Log_String, 0, sizeof(Log_String)); va_list arg; va_start(arg, format); vsprintf(Log_String, format, arg); va_end(arg); Log_SendString(Log_String); }