使用到了可变参数的宏定义
#define DEBUG_ENABLE 1 #if DEBUG_ENABLE > 0 #define DEBUG_PORT UART_PORT2 #define DBG_BUF_LEN 512 static char DBG_BUFFER[DBG_BUF_LEN]; #define APP_DEBUG(FORMAT,...) { Ql_memset(DBG_BUFFER, 0, DBG_BUF_LEN); Ql_sprintf(DBG_BUFFER,FORMAT,##__VA_ARGS__); if (UART_PORT1 == (DEBUG_PORT)) { Ql_Debug_Trace(DBG_BUFFER); } else { Ql_UART_Write((Enum_SerialPort)(DEBUG_PORT), (u8*)(DBG_BUFFER), Ql_strlen((const char *)(DBG_BUFFER))); } } #else #define APP_DEBUG(FORMAT,...) #endif