STM32使用HAL库控制串口

本文介绍了如何使用STM32的HAL库控制串口通信,从串口协议和RS-232标准开始,讲解了RS232电平与TTL电平的区别,以及USB/TTL转232模块的工作原理。接着,详细阐述了如何建立HAL库工程,配置参数,使用Keil编程并编译,最后进行了烧录运行,实现了串口通信功能。
摘要由CSDN通过智能技术生成

一、了解串口通信

1、串口协议和RS-232标准

(1)串口协议
串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。串口通信协议是基于串口使得通信双方能够相互沟通信息的一种约定,其定义了双方遵循的协议数据帧格式和其传输方式。
串口协议用于与其他模块之间的信息交互,包含接收模块和发送模块 ,信号传输线上根据波特率完成码元的接收与发送,因而接收模块主要完成并串转换,串并转换是接收和发送模块必备的基本功能,发送模块完成并串转换,接收模块完成串并转换。在串口通信中,常用的协议包括RS-232、RS-422和RS-485,以下是对RS-232标准的介绍
(2)RS-232标准
在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称EIARS-232-C)是目前最常用的一种串行通讯接口。
RS-232具有接入信号线少,灵活的波特率选择,采用负逻辑传送,传送距离较远的特点,并且他有两种物理接口。

2、RS232电平与TTL电平的区别

最根本的区别在于硬件:电平表示的逻辑含义不同,硬件机制不同
当为逻辑高电平1时,TTL电平为2.4V-5V,RS232电平为-15V-3V;当为逻辑低电平0时,TTL电平为0V,RS232电平为3V-25V.
下图时两种电平在同一种信号的对比:
在这里插入图片描述

3、"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理

(1)USB转串口的基本原理

  1. 串口发送
    串口应用发送数据->USB串口驱动获取数据->驱动将数据经过USB通道发送给USB串口设备->USB串口设备接收到数据通过串口发送
  2. 串口接收
    USB串口设备接收串口数据->将串口数据经过USB打包后上传给USB主机->USB串口驱动获取到通过USB上传的串口数据->驱动将数据保存在串口缓冲区提供给串口应用读取

(2)CH340芯片介绍

CH340是一个USB总线的转接芯片,实现USB转串口或者USB转打印口。
在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。
在这里插入图片描述
它可以实现单片机与PC端的通信。
结构介绍:
在这里插入图片描述

(3)USB转TTL串口与单片机的连接

在这里插入图片描述

二、利用HAL库建立工程

1、新建工程

打开stm32CubeMX,新建工程,选择芯片STM32F103C8T6
在这里插入图片描述

2、配置参数

  1. 设置SYS
    在这里插入图片描述
  2. 设置RCC
    在这里插入图片描述
  3. 设置USART1
    在这里插入图片描述
  4. 设置DMA
    在这里插入图片描述
  5. 设置NVIC
    在这里插入图片描述
  6. 设置时钟
    在这里插入图片描述

3、生成工程

设置完成后,开始设置工程名及路径,然后点击生成工程。
在这里插入图片描述
在这里插入图片描述
然后点击右上角开始创建工程。
在这里插入图片描述

在这里插入图片描述

三、Keil编程与编译

1、代码编写

工程创建完成后,打开Keil然后开始编写代码。
在main函数上面定义需要输出的句子,

ch
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值