我用查询的方式获取串口数据不成功是怎么回事,代码如下:
void GetStr(void)
{
UART3_CR2 &=~ MASK_UART3_CR2_RIEN; //关中断
while(UART_Time)
{
if(UART3_SR & MASK_UART3_SR_RXNE)
{
UART_Buffer[UART_Buffer_Point] = UART3_DR;
UART_Buffer_Point = (UART_Buffer_Point + 1)%UART_BUFFER_SIZE;
//UART3_SR &= ~MASK_UART3_SR_RXNE;
}
}
UART3_CR2 |= MASK_UART3_CR2_RIEN; //开中断
Delay_nms(10);
}
但是程序跑起来不行,当电脑发一段数据过来时只能收到第一个字符,其他的都收不到了是怎么回事啊。刚开始做STM8好多东西不懂,那位大侠指点一下 |