准备工作:第一篇文章中生成的工程(已经用cubeMX配置了串口)
1. 在rtconfig.h 使能 RT_USING_CONSOLE
2. 在main.c中使用宏 INIT_BOARD_EXPORT() 进行自动初始化,如
INIT_BOARD_EXPORT(MX_USART1_UART_Init);
3. 构造rt_hw_console_output函数,如
void rt_hw_console_output(const char *str)
{
rt_size_t i = 0, size = 0;
char a = '\r';
__HAL_UNLOCK(&huart1);
size = rt_strlen(str);
for (i = 0; i < size; i++)
{
if (*(str + i) == '\n')
{
HAL_UART_Transmit(&huart1, (uint8_t *)&a, 1, 1);
}
HAL_UART_Transmit(&huart1, (uint8_t *)(str + i), 1, 1);
}
}
4. 在应用代码中编写含有 rt_kprintf() 打印的代码,编译下载,打开串口助手进行验证。
如:rt_kprintf("kprintf test, LED0_ON\r\n");