在SDK中增加串口打印log功能,方便在调试程序中打印关键的日志信息,此处使用的是GPIO模拟串口输出打印信息。
1.在SDK的application的文件下面可以看到putchar.c,putchar.h,u_printf.c,u_printf.h这4个文件
2.可以选择在上面的文件内增加以下程序,也可以在需要编译的项目程序中增加:
#ifndef UART_PRINT_DEBUG_ENABLE #define UART_PRINT_DEBUG_ENABLE 1 #endif /////////////////////////////////////// PRINT DEBUG INFO /////////////////////////////////////// #if (UART_PRINT_DEBUG_ENABLE) //the baud rate should not bigger than 1M(system timer clock is constant 16M) #define PRINT_BAUD_RATE 1000000 #define DEBUG_INFO_TX_PIN GPIO_PD7 #define PULL_WAKEUP_SRC_PD7 PM_PIN_PULLUP_10K #define PD7_OUTPUT_ENABLE 1 #define PD7_DATA_OUT 1 //must #include "application/print/u_printf.h" #endif
3.增加打印代码后clean project,完成后即可在程序中调用函数printf()来通过GPIO模拟打印需要的log信息了。
注意事项:1.用GPIO调试的管脚不要跟工程当中别的管脚有冲突
2.因为是gpio模拟的串口,刚启动的时候要做相关的初始化,第一次打印可能有乱码
3.释放代码时,一定要把打印功能给关掉,节省功耗。