发送数据函数
void Usart3_Send_Array(u8 *buf, u8 len)
{
u8 t;
GPIO_WriteBit(GPIOB,RS485AB_EN_PIN,1);
for(t = 0; t < len; t++) //循环发送数据
{
while(USART_GetFlagStatus(USART3, USART_FLAG_TXE) == RESET);
USART_SendData(USART3, buf[t]);
while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET);
}
GPIO_WriteBit(GPIOB,RS485AB_EN_PIN,0);
}
或者
void Usart3_Send_Array(u8 *buf, u8 len)
{
u8 t;
GPIO_WriteBit(GPIOB,RS485AB_EN_PIN,1);
for(t = 0; t < len; t++) //循环发送数据
{
USART3->SR;
USART3->DR = buf[t] & 0xFFFF; // 清TC
while((USART3->SR & 1<< 6) == 0); // 等TC
}
GPIO_WriteBit(GPIOB,RS485AB_EN_PIN,0);
}