系列文章目录
嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记01:赛事介绍与硬件平台
嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记02:开发环境安装
嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记03:G4时钟结构
嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记04:从零开始创建工程模板并开始点灯
嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记05:Systick滴答定时器
嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记06:按键输入
嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记07:ADC模数转换
嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记08:LCD液晶屏
嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记09:EEPROM
嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记10:USART串口通讯
目录
前言
今天讲解一下STM32G4的串口通讯模块USART,即通用同步异步收发器。相比与UART异步收发器,USART是可以同步通讯的,即接收端和发送端共用一个时钟,是有一个时钟线的。但是我们比赛和蓝桥杯板子上只用到了异步收发,所以我们只能把USART设置成Asynchronous(只需要用到两根线,收和发)。
一、基础知识
异步通讯有一个特点就是发送方和接收方共用一个波特率(如果是同步的话就是由时钟线提供时钟,主机和从机不用约定好同一个波特率)。所谓的波特率就是每秒传输的二进制位数,单位是bps(位/秒),比如说9600的波特率,那么每秒就能传输9600位的数据,考虑到每个字节传输的时候会有一个起始位start和一个停止位stop,所以一个字节需要10位的数据,那么一秒钟就能发送960个字节。
还要了解一下异步收发的通讯格式,一般异步收发是不需要clock的,如果是发送方,会有一个起始位的低电平,然后发送八个位的数据,最后是一个停止位的高电平,就是一个完整的字节的数据传输,一共10个bit。(也可以用奇偶校验,如果是奇偶校验,就是9个位,但是我们比赛一般用不到,只用头尾校验就可以了)