目录
目录
一.穿行通信基本知识
按照串行数据的时钟控制方式,串行通信可以分为异步通信和同步通信。
该器件内置有四个通用同步 / 异步收发器(USART1、USART2、USART3、USART6)和四
个通用异步收发器 (UART4、 UART5、 UART7、 UART8)。
这 6 个接口可提供异步通信、 IrDA SIR ENDEC 支持、多处理器通信模式和单线半双工通信
模式,并具有 LIN 主 / 从功能。USART1 和 USART6 接口的通信速率最高为 11.25 Mb/s。其
它可用接口的通信速率最高为 5.62 b/s。
1.1异步通信
在异步通信中,数据通常是以字符为单位组成字符帧传送的。字符帧由发送端一帧一帧的发送,每一帧数据低位在前,高位在后,通过传输线被接收端一帧一帧的接收。发送端和接收端可以由各自独立的时钟来控制数据库的发送和接收,这两个时钟彼此独立,互不同步。
1.2同步通信
同步通信是一种连续串行传送数据的通信方式,一次通信只传输一帧信息。这里的信息帧和异步通信的字符帧不一样,通常有若干个数据字符。在同步通信中,同步字符可以采用统一的标准格式,也可以由用户自行约定。
2.串行通信的方式
1.半双工
2.全双工
3.单工方式
3.认识STM32的USART串口
3.1USART串口
USART的使用步骤
在STM32中,USART(通用同步异步收发器)是一种常用的串口通信方式,它支持全双工通信,可以同时进行数据的发送和接收.
在使用USART之前,需要进行USART的初始化配置。这包括波特率、数据位、停止位、校验位等参数的设置。在STM32中,我们可以使用STM32CubeMX工具进行初始化配置,生成相应的初始化代码。
串口设置的一般步骤可以总结为如下几个步骤:
- 串口时钟使能 GPIO 时钟使能
- 串口复位
- GPIO 端口模式设置
- 串口参数初始化
- 开启中断 并且初始化 NVIC(如果需要开启中断才需要这个步骤)
- 使能串口
- 编写中断处理函数
4.STM32相关代码
4.1串口时钟使能 GPIO 时钟使能
4.2初始化串口
4.3设置中断优先级
USART串口使能是通过USART_Cmd()实现的
4.4发送多个字符
- 判断读寄存器是否非空
- 使用printf发送数据
4.5定义数据寄器
usart串口接收数据是通过USART_Data()函数操作USART_DR寄存器来读取串口接收到的数据。
4.6主代码
这里是使用AA AA xx xx xx xx BB向串口发送数据,从而实现灯亮灯灭和蜂鸣器的功能。
当数据超过的时候,就要初始化回到原来的状态。
5.总结
。。。。。。