昨天的问题还是没有解决,接收数据老是丢,或者多,今天发现串口总是产生ORE错误,这什么造成的,大佬们给点意见
[mw_shl_code=applescript,true]void USART1_IRQHandler(void) //串口1中断服务程序
{
u8 r;
static u8 cnt = 0;
if(USART_GetFlagStatus(USART1,USART_FLAG_ORE) != RESET)
{
USART_ClearFlag(USART1,USART_FLAG_ORE);
r =USART_ReceiveData(USART1);//(USART1->DR); //读取接收到的数据
printf("error");
}
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断
{
r =USART_ReceiveData(USART1);//(USART1->DR); //读取接收到的数据
buf[cnt ++] = r;
if(r == '
')
{
buf[cnt] = ' ';
cnt = 0;
printf("%s",buf);
}
}
USART_ClearFlag(USART1,USART_FLAG_RXNE);
} [/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>