使用到了可變參數的宏定義
#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