求助原子哥使用USART串口通信发送字符串出现第一个字符丢失是什么原因,如何解决

2019-07-20 00:34发布

void send_str(USART_TypeDef* USARTx,char *str)
{
        char i=0;
        while(str[i]!=''){
                USART_ClearFlag(USARTx,USART_FLAG_TC);
                USART_SendData(USARTx,str[i]);
                while(USART_GetFlagStatus(USARTx,USART_FLAG_TC)==RESET);
                i++;
        }
}

int main(void)
{
        char roll_position[100] = "command ; q 0 -8192";
        char roll_speed[100] = "command ; v 0 1365";
       
        delay_init(168);
       
        My_USART1_init();
        My_USART2_init();
       
        send_str(USART1 , roll_position);
        delay_ms(100);
        send_str(USART1 , roll_speed);
       
}

函数和主程序是这样,串口助手收到的如图,多出来的换行也不知道为什么

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