一、STM32串口简介
串口设置的一般步骤:
1、
串口时钟使能,
GPIO
时钟使能
2、
串口复位
3、GPIO
端口模式设置
4、
串口参数初始化
5、开启中断并且初始化
NVIC
(如果需要开启中断才需要这个步骤)
6、
使能串口
7、编写中断处理函数
1.
串口时钟使能
串口是挂载在
APB2
下面的外设,所以使能函数为:RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1);
2.
串口复位
void USART_DeInit(USART_TypeDef* USARTx);//
串口复位
(比如我们要复位串口
1
,方法为: USART_DeInit(USART1); //复位串口
1)
3.
串口参数初始化
void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)
;
第二个入口参数是一个
USART_InitTypeDef
类型的结构体指针,这个结构体指针的成员变量用
来设置串口的一些参数。一般的实现格式为:
USART_InitStructure.USART_BaudRate = bound; //
波特率
;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;//
字长为
8
位数据格式
分类
一、处理器与外部设备通信的两种方式
1、并行通信
传输原理:数据各个位同时传输
优缺点:传输速度快,但占用引脚资源多
2、串行通信
传输原理:数据安慰顺序传输
优缺点:占用引脚资源少,但是速度较慢
二、按照数据传输方向分类:
1、单工:数据传输只支持数据在一个方向上传输
2、半双工:允许数据只支持数据在一个方向上传输,但是,在某个时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;
3、全双工:允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接受和发送能力。
三、串行通信的通信方式
1、同步通信:带时钟同步信号传输
SPI,IIC通信接口
2、异步通信:不带时钟同步信号
UART(通用异步收发器),单总线
常见的串行通信
实例
一、硬件
将P4的RXD和TXD用跳线帽与PA9和PA10连接起来
二、软件部分
1、调用SYSTEM组下的usart.c资源
2、main函数
串口
一、STM32的串口通信接口
1、UART:通用异步收发器
2、USART:通用同异步收发器
二、硬件连接
RXD:数据输入引脚,数据接收
TXD:数据发送引脚,数据发送
三、STM32UART异步通信方式特点:全双工异步通信。
分数波特率发生器系统,提供精准的波特率——发送和接受共用的可编程波特率,最高可达4.5Mbits/s。
可编程的数据字长度(8位或者9位)。
可配置的停止位(支持1或者2位停止位)。可配置的使用DMA多缓冲器通信。
单独的发送器和接收器使能位。
检测标志:①接收缓冲器②发送缓冲器空③传输结束标志
多个带标志的中断源,触发中断。
其他:校验控制,四个错误检测标志。
四,STM32串口异步通信需要定义的参数:
①起始位
②数据位(8位或9位)
3奇偶校验位(第9位)
④停止位(115,2位)
5波特率设置