如何读取STM32F4中UART随附的所有数据?

问题描述

我目前正在使用STM32进行USART,并且在使用usart中断时它正在工作。当我通过USB发送HTERM时,它正在填充rxBuff,但是当我尝试在主要模块中时,它却没有填充。它只是采用传输数据的第一个字符。例如,我尝试发送问候,它只是将“ h”放入rxBuff并停止。当我尝试再次发送它时,这次rxBuff变成[h,h],这意味着它仅采用了第一个字符。

工作:

void USART1_IRQHandler(void) {
    
    rxBuff[i++] = USART_ReceiveData(USART1);
    
    if (i > RX_BUFFERSIZE ){
        i = 0;
    }
    USART_ClearITPendingBit(USART1,USART_IT_RXNE);
}

不起作用:

int main(void){

while(1){ 
    if ( USART_GetFlagStatus(USART1,USART_FLAG_RXNE) == SET ){
        rxBuff[i] = USART_ReceiveData(USART1);
        i++;
    }
    if (i > RX_BUFFERSIZE ){
        i = 0;
    }
 }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)