嵌入式格式化输出

在C语言中,一般用printf进行格式化输出。但是在ARM使用标准C库时,printf一般用于半主机模式(semihosting)的输出。可以对printf进行重定向,但是要求使用microlib。在使用microlib时,利用printf进行输出,会优先调用用户自定义的函数fputc,所以对fputc进行重写既可以完成printf的重定向。在标准C库下,如果取消半主机模式,也可以通过定义fputc实现对printf的重定向。

除此之外,还可以自己编写格式化输出函数,实现格式化的输出。

一、使用microlib,对printf重定向

只需重写fputc,并勾选microlib即可。

二、使用标准C库,对printf进行重定向

取消半主机模式

重写fputc函数

 

三、自己编写格式化输出函数

 

自己编写格式化输出,另外一种简单的办法

Leave a Reply

*