printf虽然是C语言的标准函数,但是是针对有stdin, stdout设备的系统的,在嵌入式平台上是没有标准的stdin, stdout的,需要映射到串口后某个输出对象的,而嵌入式平台各不相同,如果又没有操作系统的支持,就只能靠自己实现了,因此STM32下的printf不在标准库里,而在定制的库里。而且一般在嵌入式平台一般也不用printf,可以自己使用sprintf()函数先将数据格式化到缓冲里,然后数据想输出到哪里就输出到哪里。
如果使用的是MDK,请在工程属性的“Target“-》”Code Generation“中勾选”Use MicroLIB“
关于两个关键函数的重定义:
本文介绍在STM32嵌入式平台上如何自定义实现printf函数,并通过重定义fputc和fgetc函数实现与串口通信。适用于没有标准输入输出设备的嵌入式系统。
1638

被折叠的 条评论
为什么被折叠?



