fcm32 发表于 2024-3-22 09:42:23

解决SES中printf无法在MCU上输出的方法

本帖最后由 fcm32 于 2024-3-22 10:24 编辑

1. 下载附件,将源程序加入工程


2. 将main.c中串口定义,加上extern放入main.h:
extern UART_HandleTypeDef huart1;

3. 将原来代码中的__io_putchar或fputc函数声明和函数定义注释掉

重新编译运行,已经正常。
经上述修改后,Library I/O的定义已经不起作用(此处有误,如果设为SEMIHOST host-formatted),会仍然通过IDE的终端输出)。是否有方法在源代码中取得Library I/O的定义,这样根据定义值来选择不同的代码段进行编译?这个暂时不清楚。

fcm32 发表于 2024-3-22 09:44:17

注:以上程序适用于ST的HAL库。也可以简单修改适应LL库,或是其它型号MCU。
页: [1]
查看完整版本: 解决SES中printf无法在MCU上输出的方法