初中生
最后登录1970-1-1
在线时间 小时
注册时间2020-10-19
|
[code]
///重定向c库函数printf到串口,重定向后可使用printf函数
int fputc(int ch, FILE *f)
{
/* 发送一个字节数据到串口 */
USART_SendData(DEBUG_USARTx, (uint8_t) ch);
/* 等待发送完毕 */
while (USART_GetFlagStatus(DEBUG_USARTx, USART_FLAG_TXE) == RESET);
return (ch);
}
///重定向c库函数scanf到串口,重写向后可使用scanf、getchar等函数
int fgetc(FILE *f)
{
/* 等待串口输入数据 */
while (USART_GetFlagStatus(DEBUG_USARTx, USART_FLAG_RXNE) == RESET);
return (int)USART_ReceiveData(DEBUG_USARTx);
}
[\code]
在没有调用printf函数时,串口的发送和接受都正常。
但完成上面两个重定向后,在串口发送和接受的基础上调用printf函数在串口上输出,printf没有要显示的内容,同时串口接受和发送也不好使了。
我又运行了老师上课讲的串口发送和接受的程序,都好使,但是我把一模一样的内容粘贴过里就不好使。
|
|