STM32单片机中为什么【fprintf可以给串口方便发送指令】
【fprintf可以给串口方便发送指令】
库函数USART_SendData
我们在使用STM32单片机做串口调试实验时,经常使用到的函数为USART_SendData,也是STM32给我们封装好的库函数,定义如下:
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)
{
/* Check the parameters */
assert_param(IS_USART_ALL_PERIPH(USARTx));
assert_param(IS_USART_DATA(Data));
/* Transmit Data */
USARTx->DR = (Data & (uint16_t)0x01FF);
}
所以,在向串口发送指令的时候,我们只需要传入串口号和相应的内容即可。
使用fprintf向串口发送指令
众所周知,在C中使用fprintf语句,主要是用与打印显示,而在STM32的main函数中,经常会见到这样的场景:
正如途中的紫色字体,使用这样的语句后,在使用串口调试助手进行通信时,就会向界面发送【您发送的消息为:】这样的紫色字体,不需要使用USART_SendData。
这是因为对fprintf使用了重定义,也是重新写了fprintf函数的用法,一般在usart.c中:
注:以上分享仅是自己的理解,如有错误,欢迎大家提出。
转载请注明出处。