__LINE__和__FILE__无法正确打印

时间:2019-07-26 13:58:54

标签: c assert freertos

我正在使用FreeRTOS和跨ARM GCC编译器的C语言进行工作。

在我的freeRTOSConfig.h中,我有:

#define configASSERT( x ) if ((x) == 0) trace_printf("Assert tripped. Line %d. File, %s\n", __FILE__, __LINE__)

然后在创建计时器时进行检查:

TimerHandle_t debounceTimerHandle;

    debounceTimerHandle = xTimerCreate("Debounce Timer", pdMS_TO_TICKS(100), pdFALSE, (void *) 0, DebounceTimerCallback);

    configASSERT(debounceTimerHandle != NULL);

断言打印 断言跳闸。行134237492。文件,
实际上是gpio.c的第81行。

如果我直接编码:

trace_printf("Line %d. File: %s\n", __LINE__, __FILE__);

它输出OK:

Line 80. File: ..\..\SensorCommon\src\gpio.c

0 个答案:

没有答案