// file: debug_print.h /******************************************************************************* * [한국어 설명] 디버그 출력 매크로 (조건부 컴파일) * * SEGGER RTT(Real Time Transfer)를 이용한 디버그 출력 매크로. * J-Link 디버거를 통해 실시간으로 로그를 PC에 전송한다. * UART를 사용하지 않으므로 시스템 타이밍에 미치는 영향이 적다. * * === 조건부 컴파일 === * ENABLE_PRINTF = 1: DBG_PRINTF가 SEGGER_RTT_printf(채널0)로 치환됨 * -> 실제 로그 출력 (디버깅 시 사용) * ENABLE_PRINTF = 0: DBG_PRINTF가 빈 매크로로 치환됨 * -> 코드에서 완전히 제거 (릴리스 빌드 시 사용) * * === 사용법 === * DBG_PRINTF("값: %d\r\n", value); // printf와 동일한 포맷 문자열 * 출력은 SEGGER RTT Viewer 또는 J-Link RTT Client에서 확인. ******************************************************************************/ #ifndef DEBUG_PRINT_H #define DEBUG_PRINT_H #define ENABLE_PRINTF 1 /* 1=디버그 출력 활성화, 0=전역 비활성화 */ #if ENABLE_PRINTF #include "SEGGER_RTT.h" /* SEGGER RTT 채널 0으로 포맷 문자열 출력 */ #define DBG_PRINTF(...) SEGGER_RTT_printf(0, __VA_ARGS__) #else /* 빈 매크로: 컴파일러가 호출 코드를 완전히 제거 */ #define DBG_PRINTF(...) // Do nothing #endif #endif // DEBUG_PRINT_H