解决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的定义,这样根据定义值来选择不同的代码段进行编译?这个暂时不清楚。
注:以上程序适用于ST的HAL库。也可以简单修改适应LL库,或是其它型号MCU。
页:
[1]