串口协议和 stm32CubeMX实例、keil波形观测

串口协议和 stm32CubeMX实例、keil波形观测

1 串口协议相关知识

1.1 串口通信

串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。

根据电平标准不同,串口通讯可分为TTL标准和RS-232标准
5V TTL 逻辑1:2.4V~5V 逻辑0:0V~0.5V

RS232 逻辑1:-15V~-3V 逻辑0:+3V~+15V
在这里插入图片描述

数据格式:在这里插入图片描述
相应的功能如下表:

数据格式 功能
起始位 数据包的起始信号由一个逻辑0的数据位表示
有效数据 有效数据的长度一般有5/6/8/9位长
校验位(有奇校验odd、偶校验even、0校验space、1校验mark和无校验noparity) 奇校验:要求有效数据和校验位中‘1’的个数为奇数。偶校验:要求有效数据和校验位中‘1’的个数为偶数。0校验:不管数据内容是什么,校验位总为‘0’。1校验:不管数据内容是什么,校验位总为‘1’。
停止位 停止信号可由0.5、1、1.5或2个逻辑1的数据位表示。

1.2 RS-232

1.2.1 RS-232标准

RS-232(ANSI/EIA-232标准) 是IBM-PC及其兼容机上的 串行连接标准。用途十分广泛,比如连接鼠标、打印机或者调制解调器,同时也可以接工业仪器仪表。 用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。 RS-232只限于PC串口和设备间点对点的通信。 RS-232串口通信最远距离是50英尺。
几乎每台计算机都有一个或多个RS232串行接口,虽然最新的计算机出现了更多的USB这样的串行接口,但是RS232串行接口可以做很多USB无法进行的工作,而且RS232串行接口的开发难度以USB接口要简单得多。对于一些没有RS232串行接口的笔记本电脑,可以用USB-RS232转换线来连接RS232串口设备。

1.2.2 RS232串行接口的电气特性

数据线 TXD 和 RXD 上逻辑电平的下定义:
●逻辑1:-3V~-15V
●逻辑0:+3V~+15V

在RTS、CTS、DSR、DTR 和 DCD 等控制线上:

●信号有效(ON):+3V~+15V
●信号无效(OFF):-3V~-15V

由于RS232的电平定义与大部分单片机系统(各种外设都基于一个单片机系统构建)使用的TTL电平标准不相符,所以以一般单片机系统与RS232之间的连接通常都加了一个这两种电平之间的转换芯片,如常用的MAX232就属于此类电平转换芯片。

TTL电平标准

输出 L: 0.8V ; H:2.4V

输入 L: 1.2V ; H:2.0V

1.3 “USB/TTL转232"模块的工作原理

(以CH340芯片模块为例)

1.3.1 CH340

CH340是一个USB总线转接芯片,作用是实现USB转IrDA红外、USB转串口或USB转打印口。

在串口方式下,CH340常被用于提供MODEM联络信号,应用在为计算机扩展异步串口,或将普通的串口通信设备直接升级到USB总线。CH340芯片支持5V电源电压或3.3V电源电压。
工作原理的简单理解为下图:
在这里插入图片描述

它的实物大概长这个样子:

在这里插入图片描述
我们通过 RTS 和 DTR 两个输出信号来控制STM32IC的BOOT0和BOOT1两引脚来选择启动模式,(可用跳线帽实现)如下表:

BOOT0 BOOT1 功能
0 x 从用户闪存启动,这是正常的工作模式。
1 0 从系统存储器启动,这种模式启动的程序功能由厂家设置。
1 1 从内置SRAM启动,这种模式可以用于调试。

2 串口通信实例

题目:
2、完成一个STM32的USART串口通讯程序(查询方式即可,暂不要求采用中断方式),要求:
1)设置波特率为115200,1位停止位,无校验位;
2)STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。

打开电脑的设备管理器,可以看到USB 如下图:
在这里插入图片描述
在上一篇文章中,利用同样的模板,将运行的.c文件改为:

#include "sys.h"
#include "usart.h"	
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值