算找到原因了吧,可能STM8真的是容错太差了,噪声也产生中断,在噪声中断中也没有清标志位,而导致一直在中断里跑吧,现在解决办法如下:
if(UART2_GetITStatus(UART2_IT_RXNE )!= RESET)
{
用户代码;
}
else
{
UART2->SR;
UART2->DR;
}
" UART2->SR;UART2->DR;"根据手册可知可以清TC、IDLE、OR、NF、FE、PE位;可以说除TXE与RXNE位没被清外,别的都被清了,由于我又没有仿真器,所以也看不出到底是那个位被置位。但总体来说是可以正常接收250K/S的数据了。
|