stm32 printf重定向到USART
在stm32中无法直接使用printf()函数,需要1、使用fputc()进行重定向 2、在keil中 Options-Target-UseMicroLIB勾选上。
1、寄存器
int fputc(int ch, FILE *f)
{while((USART1->SR & USART_FLAG_TXE) == RESET);USART1->DR = (ch & (uint16_t)0x01FF);return ch;
}
2、标准库函数
int fputc(int ch,FILE *f) {USART_SendDate(USART1,(u8)ch);while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);return ch;}
