文章目录
一、了解串口通信
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转串口的基本原理
- 串口发送
串口应用发送数据->USB串口驱动获取数据->驱动将数据经过USB通道发送给USB串口设备->USB串口设备接收到数据通过串口发送 - 串口接收
USB串口设备接收串口数据->将串口数据经过USB打包后上传给USB主机->USB串口驱动获取到通过USB上传的串口数据->驱动将数据保存在串口缓冲区提供给串口应用读取
(2)CH340芯片介绍
CH340是一个USB总线的转接芯片,实现USB转串口或者USB转打印口。
在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。
它可以实现单片机与PC端的通信。
结构介绍:
(3)USB转TTL串口与单片机的连接
二、利用HAL库建立工程
1、新建工程
打开stm32CubeMX,新建工程,选择芯片STM32F103C8T6
2、配置参数
- 设置SYS
- 设置RCC
- 设置USART1
- 设置DMA
- 设置NVIC
- 设置时钟
3、生成工程
设置完成后,开始设置工程名及路径,然后点击生成工程。
然后点击右上角开始创建工程。
三、Keil编程与编译
1、代码编写
工程创建完成后,打开Keil然后开始编写代码。
在main函数上面定义需要输出的句子,
ch