使用JY901,会发现数据丢失,或者乱码
void UART4_IRQHandler(void)
{
u8 res;
if(USART_GetITStatus(UART4,USART_IT_RXNE) != RESET)
{
USART_ClearITPendingBit(UART4,USART_IT_RXNE);
res= USART_ReceiveData(UART4);
if(Nine_axis_RX_cnt<33)
{
Nine_axis_RX_BUF[Nine_axis_RX_cnt]=res;
Nine_axis_RX_cnt++;
}
}
}
主函数部分
if(Nine_axis_RX_cnt==33)
{
Nine_axis_RX_cnt=0;
if(Nine_axis_RX_BUF[0]==0x55)
{
for(i=0;i<33;i++)
{
USART_SendData(USART1,Nine_axis_RX_BUF);
while( USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET );
delay_us(200);
}
}
} |