STM32 printf 重定向
Options 選項(xiàng)里面Target選項(xiàng)頁(yè) 將Use MicroLIB 勾上。
為了實(shí)現(xiàn)重定向 printf()函數(shù),我們需要重寫 fputc() 這個(gè) c 標(biāo)準(zhǔn)庫(kù)函數(shù),
因?yàn)?printf()在 c 標(biāo)準(zhǔn)庫(kù)函數(shù)中實(shí)質(zhì)是一個(gè)宏,最終是調(diào)用了 fputc()這個(gè)函數(shù)
的。
int fputc(int ch, FILE *f)
{
/* 將 Printf 內(nèi)容發(fā)往串口 */
USART_SendData(USART1, (unsigned char) ch);
while( USART_GetFlagStatus(USART1,USART_FLAG_TC)!= SET);
return (ch);
}
評(píng)論