stm32使用HAL库串口重定向问题

发布时间 2023-08-31 09:57:20作者: njit-sam

HAL库版本:

 使用这个版本库的时候,加入了如下代码,实现串口重定向:

 1 int fputc(int ch,FILE *f)
 2 {
 3     HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, 1000);
 4     return ch;
 5 }
 6 
 7 
 8 /* 串口重定向 */
 9 int fgetc(FILE *f) {      
10     uint8_t ch = 0;
11     HAL_UART_Receive(&huart1,&ch,1,1000);
12     return ch;
13 }

没有作用,发现在keil下,必须勾选MicroLib,不然不行。

Use MicroLIB:microlib 是缺省 C 库的备选库。 它旨在与需要装入到极少量内存中的深层嵌入式应用程序配合使用。 这些应用程序不在操作系统中运行