一、基础知识USART是指Universal synchronous asynchronous receiver transmitte即通用同步异步收发器。同步相比异步需要配置一个时钟的引脚用于控制串口数据收发的时序问题。一般用的都是异步通讯也被称为UART。USART本质上代表的应该是一种通讯协议标准化数据发送的帧格式、时序逻辑等等。这里主要写stm32h7利用串口协议进行数据的接收。1.1 串口的工作模式串口工作模式主要分为* 阻塞式CPU轮询式查询收发状态寄存器 判断串口收发数据是否完成整个过程中CPU一直被占用。优点配置和使用都比较简单缺点影响系统的实时性。* 中断式外设收发数据产生中断请求等待CPU响应处理之后CPU可以进入中断回调函数处理数据更新状态寄存器。一般情况下中断式收发配置不是特别复杂而且已经可以满足几十字节的数据收发需求。* DMA直接内存访问外设和内存之间的数据搬运由DMA控制器完成不经过CPU。大部分工作都由DMA控制器完成主要是为了应对高频和大量数据收发的情况相应的配置也会更加复杂。需要明确的是串口的收发主要工作就是将数据读出和写入寄存器。虽然中断式和DMA都可以产生中断请求CPU访问但是中断式的主要工作需要CPU完成而后者直接由DMA控制器完成。DMA产生的中断更多的是为了将接收的数据及时处理。STM32H7串口.rarhttps://pan.baidu.com/s/1gvI9g3xXl35Uv7rHIpkMHw?pwdwurc