STM32的串行通信

目录

一.穿行通信基本知识

1.1异步通信

1.2同步通信

2.串行通信的方式

3.认识STM32的USART串口

3.1USART串口

4.STM32相关代码

4.1串口时钟使能 GPIO 时钟使能

4.2初始化串口

4.3设置中断优先级

4.4发送多个字符

4.5定义数据寄器

4.6主代码

5.总结


目录

一.穿行通信基本知识

1.1异步通信

1.2同步通信

2.串行通信的方式

3.认识STM32的USART串口

3.1USART串口

4.STM32相关代码

4.1串口时钟使能 GPIO 时钟使能

4.2初始化串口

4.3设置中断优先级

4.4发送多个字符

4.5定义数据寄器

4.6主代码


一.穿行通信基本知识

按照串行数据的时钟控制方式,串行通信可以分为异步通信和同步通信。

该器件内置有四个通用同步 / 异步收发器(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 时钟使能

b1a4c4d7c7b6429e9269b7a4c72446df.png

4.2初始化串口

7ef5a3988b3c41dba7115ac2308d1037.png

4.3设置中断优先级

USART串口使能是通过USART_Cmd()实现的

6ee12a57f6264f90b24786654d0961a0.png

4.4发送多个字符

  • 判断读寄存器是否非空
  • 使用printf发送数据

04bf3491364b4adb85562d3df3069eb5.png8e011664439d4057b3d7a27487cc2e72.png

4.5定义数据寄器

usart串口接收数据是通过USART_Data()函数操作USART_DR寄存器来读取串口接收到的数据。

5a10ef30f69f4b2abdd9c8d51c7e3185.png

4.6主代码

这里是使用AA AA  xx xx xx xx BB向串口发送数据,从而实现灯亮灯灭和蜂鸣器的功能。

70f9d00fdd0a4979a3d841b4dc78156e.png70cb2fba986f4e0ca8d0dc357a2db480.png

当数据超过的时候,就要初始化回到原来的状态。

bc5db7511f444aae80b952aca924bd42.png

5.总结

。。。。。。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32的串口通信是MCU最基本的通信方式之一。串口通信是一种串行通信方式,与并行通信相对应。在STM32中,串口通信主要通过USART模块实现。USART是一种通用的同步/异步收发器,它包含了用于串口通信的相关寄存器和功能。通过配置USART的寄存器,可以实现不同的串口通信参数设置,如波特率、数据位数、停止位数等。在STM32中,常用的串口通信引脚是USART1、USART2等。为了实现串口通信,可以使用USB转串口模块,其中常用的电平转换芯片有CH340、PL2303、CP2102、FT232等。这些芯片可以将USB接口转换为串口接口,实现设备与电脑之间的通信。 #### 引用[.reference_title] - *1* *2* [STM32-串口通信详解](https://blog.csdn.net/qq_44016222/article/details/123280806)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【stm32】串口通信](https://blog.csdn.net/weixin_51914919/article/details/123320229)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值