#ifndef __LOG_OUT_H__
#define __LOG_OUT_H__
#ifdef LOG_RTT_ENABLE
#include "SEGGER_RTT.h"
#define JBF_DEBUG_LOG_INIT() \
do \
{ \
SEGGER_RTT_Init(); \
} while (0);
#define JBF_DEBUG_STRING_LOG(STRING) SEGGER_RTT_WriteString(0, RTT_CTRL_TEXT_BRIGHT_WHITE##STRING)
#define JBF_DEBUG_STRING_ERROR(STRING) SEGGER_RTT_WriteString(0, RTT_CTRL_TEXT_BRIGHT_RED##STRING)
#define JBF_DEBUG_ASSERT_PRINTF(filename, line) \
do \
{ \
SEGGER_RTT_printf(0, RTT_CTRL_TEXT_BRIGHT_RED##"@%s: Line:%d: Abort!!!\r\n", filename, line); \
} while (0);
#define JBF_DEBUG_POINT_NULL_ERROR(ptr) \
do \
{ \
if (ptr == NULL) \
{ \
(SEGGER_RTT_printf(0, RTT_CTRL_TEXT_BRIGHT_RED##"@%s: Line:%d: NULL !!! %s", __FUNCTION__, __LINE__, #ptr)); \
} \
} while (0);
#define JBF_DEBUG_PRINTF_LOG(format, arg...) \
do \
{ \
SEGGER_RTT_printf(0, RTT_CTRL_TEXT_BRIGHT_GREEN##"@%s: Line:%d:", __FUNCTION__, __LINE__); \
SEGGER_RTT_printf(0, format, ##arg); \
} while (0);
#define JBF_DEBUG_PRINTF_HEX(str, ptr, len) \
do \
{ \
int i = 0; \
SEGGER_RTT_printf(0, RTT_CTRL_TEXT_CYAN##"@%s: Line:%d: Hexs:%s ", __FUNCTION__, __LINE__, str); \
for (i = 0; i < len; i++) \
SEGGER_RTT_printf(0, "%x ", ptr[i]); \
SEGGER_RTT_printf(0, RTT_CTRL_RESET##"\r\n"); \
} while (0);
#define JBF_DEBUG_PRINTF_HEX_ERROR(str, ptr, len) \
do \
{ \
int i = 0; \
SEGGER_RTT_printf(0, RTT_CTRL_TEXT_BRIGHT_RED##"@%s: Line:%d: Hexs:%s ", __FUNCTION__, __LINE__, str); \
for (i = 0; i < len; i++) \
SEGGER_RTT_printf(0, "%x ", ptr[i]); \
SEGGER_RTT_printf(0, RTT_CTRL_RESET##"\r\n"); \
} while (0);
#define JBF_DEBUG_PRINTF_ERROR(format, arg...) \
do \
{ \
SEGGER_RTT_printf(0, RTT_CTRL_TEXT_BRIGHT_RED##"@%s: Line:%d:" RTT_CTRL_RESET, __FUNCTION__, __LINE__); \
SEGGER_RTT_printf(0, format, ##arg); \
} while (0);
#define JBF_DEBUG_PRINTF_TIME(TIMER_T) \
do \
{ \
JBF_DEBUG_PRINTF_LOG("%d/%d/%d %d/%d/%d %d\r\n", TIMER_T.year, \
TIMER_T.month, \
TIMER_T.day, \
TIMER_T.hour, \
TIMER_T.minute, \
TIMER_T.second, \
TIMER_T.week); \
} while (0);
#else
#define JBF_DEBUG_STRING_LOG(STRING)
#define JBF_DEBUG_STRING_ERROR(STRING)
#define JBF_DEBUG_POINT_NULL_ERROR(ptr)
#define JBF_DEBUG_PRINTF_LOG(format, arg...)
#define JBF_DEBUG_PRINTF_ERROR(format, arg...)
#define JBF_DEBUG_PRINTF_TIME(TIMER_T)
#define JBF_DEBUG_PRINTF_HEX(str, ptr, len)
#define JBF_DEBUG_PRINTF_HEX_ERROR(str, ptr, len)
#define JBF_DEBUG_ASSERT_PRINTF(filename, line)
#endif
#endif
SOC常用的debug宏
猜你喜欢
转载自blog.csdn.net/loveboon1/article/details/131943368
今日推荐
周排行