用 rtthread - nano 的时候配置 rt_printf,可以通过查看函数,发现这个函数里有两个条件宏,很明显我们需要执行的是 rt_hw_console_output(rt_log_buf);
打开 rt_hw_console_output(rt_log_buf); 我们发现里面是空的,需要自己添加程序来达到rt_printf 输出,可以利用 for 循环和 hal 库的 HAL_UART_Transmit() 函数来实现,但是当我们写好之后发现貌似完全不起作用,经过一番排查发现根本没有执行此函数,然后发现其实整个程序中有两个 rt_hw_console_output(rt_log_buf); 函数,而我们找到的那个前面带了__weak!