您的位置:首页 > 其它

stm32 串口接收不定长数据 清测可行

2017-09-05 17:27 323 查看
/**************** USART1中断处理函数******************/
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1, USART_IT_RXNE)!= RESET)
{
if(Rx_Counter<64)
{
Rx_buffer[Rx_Counter++]=USART_ReceiveData(USART1);    //接收一字节数据存入数组中
}
}
else if(USART_GetITStatus(USART1,USART_IT_IDLE)!= RESET)
{
USART_ReceiveData(USART1); //此处一定要有,这是用于清除IDLE空闲标志位的
USART_ClearFlag(USART1,USART_FLAG_IDLE);
Rx_Fin=1;    //接收完一帧数据标志
}
}

int main()
{
while(1)
{
if(Rx_Fin==1)
{
Usart_SendArray(USART1,Rx_buffer,Rx_Counter);
Rx_Fin=0;
Rx_Counter=0;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  stm32