【STM32】RS485

news2024/11/14 20:35:21

RS485是常见的串口接口。

大部分图片来源:正点原子HAL库课程

 专栏目录:记录自己的嵌入式学习之路-CSDN博客


目录

1    串口、UART、TTL、RS232、RS422、RS485的关系

1.1    串口

1.2    UART、TTL、RS232、RS422、RS485

1.3    常见串口标准的比较

2    RS485特征

3    通信电路

4    RS485电平转换芯片(以TP8485为例)

5    配置

5.1    相关HAL库函数

5.2    配置步骤


1    串口、UART、TTL、RS232、RS422、RS485的关系

1.1    串口

串口是一个通讯时序的标准,它规定的仅仅是发送的数据位,要有启动位、有效数据位、校验位和停止位,然后启动位是逻辑0,停止位是逻辑1,以及发送时它们的先后顺序这些。

1.2    UART、TTL、RS232、RS422、RS485

UART、TTL、RS232、RS422、RS485之类的是串口的接口标准,我理解为关于电平协议,就是什么电平代表逻辑1,什么电平代表逻辑0等等。STM32输出的原生串口信号是CMOS电平的。

1.3    常见串口标准的比较


2    RS485特征

  • 使用差分信号传输,抗干扰能力强;
    • TTL、CMOS都是直接使用电平电压来构成逻辑1/0,但485使用A、B两线的压差来决定,在485线的电压被改变时,由于两线电压的改变被差分消除,因此抗干扰能力更强;
  • 具有强大的组网功能,在串口基础协议之上还制定MODBUS协议;
    • MODBUS协议:使用基本数据包组合成通讯帧格式的高层应用协议(基于数据包或字节);
  • 接口电平低,不易损坏芯片;
  • 传输效率高;
  • 传输距离远,支持节点多;

3    通信电路

  • RS485与别的串口不同,别的串口需要TX连接另一设备的RX、RX连接另一设备的TX。而485是A线连接A线,B线连接B线;
  • 需要连接匹配电阻以提高稳定性;
  • 芯片的COMS电平或TTL电平需要485收发器(电平转换芯片)进行响应的电平转换;
  • 连接一般使用双绞线以进一步抗干扰;

4    RS485电平转换芯片(以TP8485为例)

  • RS485的电平转换芯片的重要引脚:
  • R19和R22是两个偏置电阻,用来保证总线空闲时,UAB大于0.2V,避免压差不定导致逻辑混乱。
  • 收发的电平情况:

5    配置

5.1    相关HAL库函数

5.2    配置步骤

  • 其实就是和前面的串口基本一致,只不过需要自行配置并使用一个额外的GPIO口来选择485收发器的发送/接收模式;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2084597.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apache Arrow 的列式内存格式

Apache Arrow 的列式存储格式是一种内存数据组织标准,它通过物理布局、Array(数组)、Schema(模式)和 RecordBatch(记录批次)等,优化了大数据的存储与处理。这种格式以列而非行来存储…

更改网络ip地址时出现错误怎么办

在日常的网络使用中,‌有时我们需要更改IP地址以满足特定的网络需求,‌然而,‌在更改IP地址的过程中,‌可能会遇到各种错误,‌导致无法成功更改或网络连接出现问题。‌‌而更改网络IP地址时出现错误是由于多种原因导致…

二、基于Vue3的开发-环境搭建【Visual Studio Code】扩展组件

Visual Studio Code中的扩展组件 1、安装的扩展工具2、说明2.1 、代码规范性检查EsLint2.2 、代码语法高亮提示工具Vue - Official2.3 、阿里的AI代码开发提示工具 TONGYI Lingma 1、安装的扩展工具 2、说明 2.1 、代码规范性检查EsLint Visual Studio Code 中【设置】-setti…

基于元神操作系统编程写硬盘扇区

1. 背景 本文介绍了“调用元神操作系统API向硬盘扇区写数据”的程序实现及测试结果。 2. 方法 (1)调用元神操作系统API读硬盘扇区 本部分内容已在前面的文章中进行介绍,详细内容请参考“编写程序调用元神操作系统的API”。 (…

二叉树 - 二叉树的所有路径

257. 二叉树的所有路径 方法一:递归法: /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefi…

水下目标检测(低光照目标检测)方法-发表在Patter Recognition,代码已开源

这里写自定义目录标题 前言动机贡献Overview一些实验结果数据集主要实验结果实验结果展示 总结 前言 Hi,各位读者,好久不见!现在我已经从北大博士毕业,成为一名小青椒啦!工作还是需要宣传的。今天想分享我在水下目标检测的工作&a…

低代码技术:快速构建应用的未来

在当今快速发展的数字化时代,企业和个人对软件应用的需求不断增长。然而,传统的软件开发过程通常复杂且耗时。这使得低代码技术(Low-Code Technology)成为了越来越多人关注的焦点。本文将探讨低代码技术的基本概念、优势以及如何在…

贾湖刻符——汉字起源的重要线索

关注我们 - 数字罗塞塔计划 - 汉字是世界上唯一沿用至今的古老文字系统,其演变历程承载着中华文明的发展和赓续。那么汉字究竟源自何时?是古代神话传说的“昔者仓颉作书,而天雨粟,鬼夜哭”;还是由华夏先民创制的刻划符…

请你学习:前端布局3 - flex

Flexbox布局也叫Flex布局,弹性盒子布局。它的目标是提供一个更有效地布局、对齐方式,并且能够使父元素在子元素的大小未知或动态变化情况下仍然能够分配好子元素之间的间隙。主要思想是使父元素能够调整子元素的宽度、高度、排列方式,从而更好…

AI变现之Midjourney头像定制

前言 Midjourney | 头像定制 1.项目介绍 个性化头像在如今的社交媒体时代变得越来越重要。传统头像照片有时显得普通,而AI绘画头像则能为自己的社交账号增加独特性和吸引力。 通过AI绘画工具制作头像,可以获得一个充满创意和个性的头像,让…

湖南的智榜样网络安全公司开的培训学校参加学习成为网络安全工程师

学习网络安全可以通过以下步骤进行: 获取基础知识:开始学习网络安全之前,建议先获取一些计算机基础知识,包括计算机网络、操作系统、编程语言等方面的知识。这些基础知识将为你理解和学习网络安全提供必要的背景。 学习网络安全基…

数据中台即将消亡,数智基建取而代之?

数据中台即将消亡,数智基建取而代之? 前言数智基建 前言 在当今数字化浪潮汹涌澎湃的时代,企业的发展如同在浩瀚海洋中航行的巨轮,而数据则是推动这艘巨轮前行的强大动力。然而,如何有效地管理和利用数据,…

2024年第十四届APMCM亚太地区大学生数学建模竞赛思路

2024年第十四届亚太地区大学生数学建模竞赛(以下简称“竞赛”)是由中国国际科技促进会物联网工作委员会和北京图象图形学学会联合主办的亚太地区大学生学科类竞赛,竞赛由亚太地区大学生数学建模竞赛组委会负责组织,欢迎各高等院校按照竞赛章程及有关规定…

MySQL:SQL调优的简单实践

记一次简单的SQL优化实践。 一、初始化数据 1.1 初始化数据-课程表 #课程表 create table Course(c_id int primary key,name varchar(10) );#存储过程:增加课程表100条数据DROP PROCEDURE IF EXISTS insert_Course;DELIMITER $CREATE PROCEDURE insert_Course()…

[线程]***多线程带来的风险-线程安全问题

文章目录 一. 什么是线程安全二. 线程不安全一个经典的例子三. 对上述例子的理解四. 出现线程不安全的原因1. 线程在操作系统中是随机调度, 抢占式执行的2. 当前代码中, 多个线程同时修改同一变量3. 线程针对变量的修改操作, 不是"原子"的4. 内存可见性问题, 引起线程…

使用gradle 移除敏感权限

前言 最近要上架Google Play 但是因为有个敏感权限很容易被拒。 想着把权限依赖的库去掉就行了,但是遇到一个恶心的问题。就是这个权限在Android Studio的Merged Manifest 视图中没有,但是在生成的apk中却包含。这样的就不能通过Android Studio来定位权…

一文搞懂 js 原型和原型链

文章目录 一、前言二、原型2.1 概念2.2 获取原型的方法2.2.1 __proto__获取方式2.2.2 通过构造函数prototype 属性获取2.2.2 ES6 class 通过Object.getPrototypeOf()获取类原型 2.3 通过原型实现继承2.4 原型的作用 三、 原型链四、ES6实现继承五、综述 一、前言 原型和原型链…

计算机网络面试真题总结(七)

文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 什么是对称加密、非对称加密? 对称加密是一种常用的加…

C语言 之 自定义类型:结构体、结构体内存对齐、修改默认对齐参数 详细说明 可以来看看哟

结构体类型的声明 结构体的声明 struct tag {member-list; //结构体中的成员,可以有多个 }variable-list; //这里是直接创建结构体的变量,但是不一定要在这里声明变量 //不能把后面这个 ; 省略了例如结构体用于描述一个学生: struct Stu…

MySQL内部临时表(Using temporary)案例详解及优化解决方法

目录 前言 一.场景案例 二、什么是内部临时表? 三、哪些场景会使用内部临时表? 四、内部临时表如何存储? 1)使用内存 2)先使用内存,再转化成磁盘文件 3)直接使用磁盘文件 五、如何优化…