关于printf乱码问题

2019-08-17 00:53发布

MX_GPIO_Init();
  MX_USART1_UART_Init();
// MX_RTC_Init();
        memset(TXBUF,0,sizeof(TXBUF));
        memset(txbuf,0,sizeof(txbuf));
        strcpy(TXBUF,"AT");
        strcpy(txbuf,"hello");
        HAL_Delay(1000);
        HAL_UART_Transmit(&huart1,(u8 *)TXBUF,2,1000);        //发送数据
        while(1)
        {
                if(USART_RX_STA&0x8000)
                {
                        if(strncmp((char *)USART_RX_BUF,"OK+CONN",5)==0){
                               
                                printf("............ "); 请问如果不加上这就 下次再进来的时候就会串口输出不全txbuf里面的数据。请问这是为什么呢  这个printf里面打印什么都可以就是唯独不加这句不行。
                                memset(USART_RX_BUF,0,sizeof(USART_RX_BUF));
                                HAL_UART_Transmit(&huart1,(u8 *)txbuf,5,1000);        //发送接收到的数据
                                HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET);
                               
                                HAL_Delay(3000);
                               
                                HAL_UART_Transmit(&huart1,(u8 *)TXBUF,2,1000);        //发送接收到的数据
                                HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET);
                        }
                        memset(USART_RX_BUF,0,sizeof(USART_RX_BUF));
                        USART_RX_STA = 0;
                }
        }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。