接上篇,将串口初始化完成后,需要进行数据的接收和发送,在main函数中调用固件库中的函数,进行数据的发送,从而实现与上位机的通信,但注意的是,固件库中的发送数据函数支持的格式很少,所以需要另外编写发送函数。介绍两种方法
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)
第一种,自己编写发送函数,以下为例
发送一个字节
void Usart_SendByte( USART_TypeDef * pUSARTx, uint8_t ch)
{
/* 发送一个字节数据到USART */
USART_SendData(pUSARTx,ch);
/* 等待发送数据寄存器为空 */
while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);
}
发送一个8位数组
void Usart_SendArray( USART_TypeDef * pUSARTx, uint8_t *array, uint16_t num)
{
uint8_t i;
for(i=0; i<num; i++)
{
/* 发送一个字节数据到USART */
Usart_SendByte(pUSARTx,array[i]);
}
/* 等待发送完成 */
while(USART_GetFlagStatus(pUSARTx,USART_FLAG_TC)==RESET);
}
发送字符串
void Usart_SendStri