#define 多行多语句

 

使用到了可变参数的宏定义

#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

 

posted @ 2018-06-05 17:04  流水灯  阅读(2493)  评论(0编辑  收藏  举报