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("............\r\n"); 请问如果不加上这就 下次再进来的时候就会串口输出不全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;
}
}
}
|