串口接收字符串

2019-07-14 20:26发布

板子例程中有一个发送一个字节的函数
写了一个字符串的的发送
void HMISends(char *buf1)                  //字符串发送
{
        u8 i=0;
        while(1)
        {
         if(buf1[i]!=0)
                 {
                        USART_SendData(USART1,buf1[i]);  //发送一个字节
                        while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET){};//等待发送结束
                         i++;
                }
         else
         return ;

                }
        }

}
如果接收字符串要如何写呢,发送方不会判断来一个字节一个字节的发送,直接发送过来四个字节这种,虽然我只想取第一个字节,但是如果直接用USART_ReceiveData(USART1)这个函数就只能收到最后一位
写不出来呀,困扰了好久。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。