__use_no_semihosting was requested:要求不使用半主机模式。
比较简单的一个解决方法就是点击“魔术棒” ,在Target标签下有个Use MicroLIB,勾选Use MicroLIB,再编译就不会报错了。
要想修改用printf函数输出到指定串口,可以通过修改usart.c中的重定义fputc函数代码来改变输出到指定串口:
int fputc(int ch, FILE *f) { while((USART1->SR&0X40)==0);//循环发送,直到发送完毕 USART1->DR = (u8) ch; return ch; }
如果使用串口2,可以修改while((USART1->SR&0X40)==0);和USART1->DR = (u8) ch;中的USART1为USART2。