先下载在执行下面操作
中断串口-中断设置在STM32中—编译
extern char rxbuf[64];
uint32_t tmp_flag = 0;
uint32_t len;
//判断是否是空闲中断
tmp_flag = __HAL_UART_GET_FLAG(&huart1,UART_FLAG_IDLE);
if((tmp_flag != 0))
{
//清除中断标志位
__HAL_UART_CLEAR_IDLEFLAG(&huart1);
//获取数据长度,里面有两个数据寄存器,两个一减就得到数据长度
len = huart1.RxXferSize - huart1.RxXferCount;
/*
//得到数据后打印出来
printf("get data len%d:%s\n",len,rxbuf);//处理数据
*/
//下一次还要告诉串口,数据放到rxbuf中
huart1.pRxBuffPtr = (uint8_t*)rxbuf;
huart1.RxXferCount = sizeof(rxbuf);
huart1.RxXferSize = sizeof(rxbuf);
#include "string.h"
memset(rxbuf,0,sizeof(rxbuf));
return;
}