一.串口协议和RS-232、485标准以及RS232、485电平与TTL电平的区别,“USB/TTL转232“模块的工作原理
1.串口协议
1.1什么是通信协议/h3>
● 用于定义通信过程及细节规则的协议称为通信协议,通信系统之间为了完成通信所必须遵循的规则和约定(数据包格式/字段的内容/字段的含义/发送的时间/接收的时间等细节)。
? 个人理解:就是消息在传输过程中,以什么样的形式传输,不同信息怎么表示,不同信息放在什么地方。
● 所有通信系统之间通信,需要相同的协议(一般是外设与主板),协议就是规则。
● 协议实现:通过程序语言将协议文档实现为具体的程序代码;再将代码集成在某个软件或者操作系统中,以实现通信的目的。将数据包每个字段拆开分析,找到数据的部分,原始的数据包是以16进制的数据和字母组成的,而Wireshark软件是将这些数字和字母翻译成英文。计算机接收到的数据包中,可以以16进制显示出来,也可以以2进制显示出来。
1.2串口通信协议的概念
● 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。
● 在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流。
● 物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输,eg:RS232、TTL高低电平。
● 协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准,eg:串口数据包:起始位,数据位(8bit)、校验位、停止位。
2.RS-232标准
2.1.RS-232概述
● RS-232接口符合美国电子工业联盟(EIA)制定的串行数据通信的接口标准,原始编 全称是EIA-RS-232(简称232,RS232)。它被广泛用于计算机串行接口外设连接。连接电缆和机械、电气特性、信 功能及传送过程。
● RS-232标准采用的接口是9针或25针的D型插头,常用的一般是9针插头(DB9M)。
2.4RS-232性质
2.4.1接口电子特性
● 逻辑为1电压范围在+3 ~ +15V,逻辑为0电压范围在-3 ~ -15V。
2.4.2通讯距离长短
● RS-232传输距离有限,最大传输距离标准值为15米,且只能点对点通讯,最大传输速率最大为20kB/s。
2.4.3能否支持多点通讯
● RS-232接口在总线上只允许连接1个收发器,不能支持多站收发能力。
3.RS-485标准
3.1 RS-485概述
※ 在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信 能在千米以外得到恢复。
● RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信 加以控制。
5.2工程参数配置
● Mode选择异步通信(Asynchronous)。
6.Keil编译程序以及Hex文件的生成
6.1新建工程
● 用keil打开刚刚在CubeMX生成的项目文件。
6.2代码编写
● 在main.c文件中补充代码。
6.3编译文件
7.2开发板boot0置1,boot1置0
● 这里需要对STM32F103C8T6进行按键预置。
7.3开发板boot0和boot1都置0
● 按下复位监控,并且打开串口助手,查看环境是否配置正确。
8.虚拟逻辑分析仪仿真观察
8.1前置设备
● 首先打开魔法棒,进行修改参数。
8.2进入DEBUG观察
● 点击Setup进行修改相应参数。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!