在调试嵌入式程序时,输出日志是非常重要的环节,可以帮助开发者定位问题、监控程序状态和性能。以下是几种常见的日志输出方式及其适用场景:
1. 使用串口(UART)输出日志
实现方式:
通过串口将日志输出到主机的串口工具(如 PuTTY、Tera Term、minicom)中。
优点:
- 简单易用,几乎所有嵌入式设备都支持。
- 实时性强,适合调试运行时的动态信息。
- 与 printf 结合使用方便。
示例代码:
#include <stdio.h>
// 配置 fputc 实现 printf 重定向到 UART
int fputc(int ch, FILE *f) {
UART_SendByte((uint8_t)ch); // 自定义的 UART 发送函数
while (!UART_IsTxEmpty()); // 等待发送完成
return ch;
}
void debug_log(const char *format, ...) {
va_list args;
va_start(args, format);
vprintf(format, args); // 使用重定向后的 printf
va_end(args);
}
int main(void) {
UART_Init(); // 初始化 UART
debug_log("System initialized.\n");
while (1) {
debug_log("Looping...\n");
HAL_Delay(1000);
}
return 0;
}

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



