我是需要做到4MS读取返回一次,发送8字节,接收7字节,校验1MS,但是就是发现返回数据会丢字节,没有找到原因,以下是查询发送的子程序:
void sendarry(u8 *p,u8 i)
{
u8 k;
USART_ITConfig(USART1,USART_IT_RXNE,DISABLE);
RS485_EN=1;
for(k=0; k<i; k++) //数据发出
{ while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) != SET);//是否为空
USART_SendData(USART1,p[k]);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC)!=SET);
USART_ClearFlag(USART1, USART_FLAG_TC);
delay_usx(3);
}
RS485_EN=0;
}
|