STM32串口操作(寄存器)

STM32串口的相关操作

  1. 串口时钟的使能
    串口1的时钟使能是在APB2END,其他串口的时钟使能都在APB1ENR 寄存器下图为APB2END寄存器的各位描述

STM32串口操作(寄存器)_第1张图片
2.串口的复位
在相应的寄存器的找到该串口的复位设置位,通过向该位写1来复位串口,写0结束复位。
3.串口的波特率设置
每一个串口都有自己的一个波特率寄存器,通过配置该寄存器可以完成配置不同的波特率。
4.串口的控制
STM32每一个串口都有3个控制寄存器,USART_CR1~3,下图为USART_CR各位描述
STM32串口操作(寄存器)_第2张图片
TXIE 为发送缓冲区空中断使能位,设置该位为 1,当 USART_SR 中的 TXE 位为
1 时,将产生串口中断。TCIE 为发送完成中断使能位,设置该位为 1,当 USART_SR 中的 TC
位为 1 时,将产生串口中断。RXNEIE 为接收缓冲区非空中断使能,设置该位为 1,当 USART_SR
中的 ORE 或者 RXNE 位为 1 时,将产生串口中断。TE 为发送使能位,设置为 1,将开启串口
的发送功能。RE 为接收使能位,用法同 TE。
5.数据发送与接收。
STM32 的发送与接收是通过数据寄存器 USART_DR 来实现的,USART_DR是双寄存器,包含了TDR 和 RDR,下图为USART_DR寄存器。
STM32串口操作(寄存器)_第3张图片
6.串口状态
串口状态可以用寄存器USART_SR读取,该寄存器的各位描述如下图所示
同样的,STM32串口操作(寄存器)_第4张图片用FlyMcu进行串口调试时必须配置好相应的数据,如相应的程序文件、串口及波特率等
同样的,在运行串口调试助手的时候,也应配置好相应的选项。
STM32串口操作(寄存器)_第5张图片
STM32串口操作(寄存器)_第6张图片
备注:u8 是 unsigned char
u16 是 unsigned short
u32 是 unsigned int
系统时针设计 Stm32_Clock_Init(9);
串口初始化(72M晶振,波特率为115200) uart_init(72,115200);
延时初始化 delay_init();
与LED相连接的硬件接口初始化 LED_Init();
以下为个人体会:
在编写串口程序的时候,一定要严格按照板子的原理图来操作,下载调试的时候也要注意自己所要操作板子的芯片,选择所适合的下载方式,一步一步来,才能把所写好的程序下载到板子里。

关于串口的操作部分的描述,参考STM32F1开发指南寄存器版本

你可能感兴趣的:(STM32串口操作(寄存器))