初级会员

- 积分
- 52
- 金钱
- 52
- 注册时间
- 2022-6-23
- 在线时间
- 15 小时
|
3金钱
串口此次接收打印的是上次串口接收到的值,这是为什么?求大神指点。
if(USB_USART_RX_STA&0x8000)
{
len1=USB_USART_RX_STA&0x3FFF;//得到此次接收到的数据长度
if(USB_USART_RX_BUF[0]==0x8f)
{
HAL_UART_Transmit_IT(&huart2,(uint8_t*)USB_USART_RX_BUF,len1);
while(__HAL_UART_GET_FLAG(&huart2,UART_FLAG_TC)!=SET); //等待发送结束
HAL_Delay(50);//发送数据前要有个延时
len2=USART_RX_STA&0x3FFF;
CDC_Transmit_HS(USART_RX_BUF, len2);
//STMFLASH_Write(FLASH_SAVE_ADDR,(u32*)TEXT_Buffer,4);
//HAL_Delay(10);
USART_RX_STA=0;//将串口寄存器清空,不然串口发送时一直是上次的数据
USB_USART_RX_STA=0;
}
|
|