1、首先第一步是:printf重定向,需要重写fputc,fputc函数如下图所示。
df9a85dca70e472e9d0c1c15911d8bcc~noop.image?_iz=58558&from=article.jpg
fputc函数

2、第二步:勾选上MicroLIB 4677be9e7e2042b5b34c8d8d24e33ca8~noop.image?_iz=58558&from=article.jpg
勾选上MicroLIB

经过上述两个步骤,proteus中的stm32单片机能够串口打印 %d,但是始终无法输出%f。
在网上查找答案,发现一种方法,可以实现输出单精度的数据,参见第三步
3、第三步:将数据分解整数和小数部分,分别输出,代码见下图所示
9d0a16f3f523426aae377e7fe4b8381b~noop.image?_iz=58558&from=article.jpg
数据分解整数和小数部分

那么经过上述的操作,就可以输出单精度的数据了。


来源:风口上的胖子