求助一个小问题

2019-07-20 15:52发布

我想将USART3接受到的数据存放到数组USART3_RX_BUF[],再将USART3_RX_BUF[]的数据发给USART1,最后显示到串口助手
                       for(t=0;t<len;t++)
                        {
                                USART_SendData(USART3,USART3_RX_BUF[t]);
                                while(USART_GetFlagStatus(USART3,USART_FLAG_TC)!=SET);
                        }

我想问的是直接用这串代码可行么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
linzhijiang_sz
2019-07-21 21:13
首先,先配置串口1和串口3.

先在USART3那里接受数据,接受到的数据存放到数组USART3_RX_BUF[]
unsigned char UART3GetByte(unsigned char* GetData)
{             
        if(USART_GetFlagStatus(USART3, USART_FLAG_RXNE) == RESET)
        {  return 0;//没有接收到数据
                }
        *GetData = USART_ReceiveData(USART1);
        return 1;//收到数据
}
我使用的是查询的方式。没有开中断。
void UART1Test(void)
{
       unsigned char i = 0;

       while(1)
       {   
                 while(UART1GetByte(&i))
        {
         USART_SendData(USART1,i); 把数据发出去
        }      
       }     
}
UART1Test()你可以放到主循环中

一周热门 更多>