STM32 printf重定向及輸出指定長度字串

2021-10-06 19:21:55 字數 1046 閱讀 2922

注意:printf是在stdio.h中宣告的

#include #ifdef __gnuc__

/* with gcc/raisonance, small printf (option ld linker->libraries->small printf

set to 'yes') calls __io_putchar() */

#define putchar_prototype int __io_putchar(int ch)

#else

#define putchar_prototype int fputc(int ch, file *f)

#endif /* __gnuc__ */

/** * @brief retargets the c library printf function to the usart.

* @param none

* @retval none

*/putchar_prototype

return ch;

}

printf輸出字串:

printf("%s", str);
輸出指定長度的字串, 超長時不截斷, 不足時右對齊:

printf("%ns", str);		//n為指定長度的10進製數值
輸出指定長度的字串, 超長時不截斷, 不足時左對齊:

printf("%-ns", str);	//n 為指定長度的10進製數值
輸出指定長度的字串, 超長時截斷, 不足時右對齊:

printf("%n.ms", str);	//n為最終的字串輸出長度

//m為從引數字串中取出的子串長度

輸出指定長度的字串, 超長時截斷, 不足時左對齊是:

printf("%-n.ms", str);	//n為最終的字串輸出長度

//m為從引數字串中取出的子串長度

STM32 printf 重定向問題

1 declaration conflicts with target of using declaration already in scope 不能使用.cpp檔案,若要使用printf重定向,那就使用.c 檔案 解決方法 1 在main檔案中包含 stdio.h 檔案 2 在工程中建立乙個檔案...

stm32 printf函式重定向

include stm32f10x.h include stdio.h void rcc configuration void 首先設定系統時鐘為8mhz void gpio configuration void void usart configuration void function name...

STM32 printf的重定向

stm32串列埠通訊中使用printf傳送資料配置方法 開發環境 keil rvmdk 標籤 stm32 串列埠通訊 printf方法 2011 06 29 23 29 在stm32串列埠通訊程式中使用printf傳送資料,非常的方便。可在剛開始使用的時候總是遇到問題,常見的是硬體訪真時無法進入ma...