单片机型号 stm32f767,使用usart3
在生成的usart.c文件中,添加代码
1,添加头文件
#include <stdio.h>
2,末尾添加代码
// 重定向print startint __io_putchar(int ch){//具体哪个串口可以更改USART1为其它串口while ((USART3->ISR & 0X40) == 0); //循环发送,直到发送完毕USART3->TDR = (uint8_t) ch;return ch;}//_write函數在syscalls.c中, 使用__weak定義, 所以可以直接在其他文件中定義_write函數__attribute__((weak)) int _write(int file, char *ptr, int len){int DataIdx;for (DataIdx = 0; DataIdx < len; DataIdx++){__io_putchar(*ptr++);}return len;}// 重定向print end
3,可以使用了
printf("\r\n value = %d:\r\n",temp);
参考
【STM32CubeIDE】重定向printf - 知乎 ()
下面的评论