这篇文章主要对USART的学习。
1 STM32使用库函数实现多字节的发送出现第一个字节丢失
在使用库函数USART_SendData(USART_TypeDef* USARTx, uint16_t Data)的时候发现会丢失一个字节,代码如下:
/**************************************************************
*Function: Uart1_SendBytes
*Calls: void
*Called By: 外部调用
*Input: void
*OUTPUT: void
*Return: void
*DESCRIPTION: 发送多个字节
*Others: noting
**************************************************************/
void Uart1_SendBytes(const unsigned char *pbuf,unsigned short len)
{
while(len)
{
USART_SendData(USART1, *pbuf );
while( USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET ){};
pbuf ++;
len --;
}
USART_ITConfig(USART1, USART_IT_TXE, ENABLE); //使能USART中断
}
确定书写无误后,我在网上查到了
这篇文章,因此得以解决问题。