【【STM32-USART串口协议】】

news2025/1/22 8:47:52

STM32-USART串口协议

USART串口协议
•通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统
•通信协议:制定通信的规则,通信双方按照协议规则进行数据收发
在这里插入图片描述
就是我们并不能在芯片上设计完全部的一下子完成所有的设计,我们总需要一些外设 所以需要学会通信接口 掌握通信协议来沟通 STM32芯片与其他外设
就像是你要去作弊 你和好朋友会约定一个口号比如说咳嗽为信号 这就是通信 另外 你们相约1根手指为A 2根手指为B 3根手指为C 等等 这就是通信的规则 也叫通信协议

对于第一种USART 它有两种引脚 TX RX TX是发送端 RX是接收端 有的地方也叫TXD RXD 这两种其实是同一种东西
全双工指的是通信双方可以同时相互传递信息 只有一根数据线叫半双工 或者说不能叫只有一根数据线 因为可能两根数据线组合成一种大的数据线
在我们这里判断时序的变化 因为 I2C 和 SPI有单独的时钟线 所以是对于它们两者来说时钟是同步的
单端信号引脚的高低电平都是对GND的电压差 所以准确的来说 前三个情况下 其实都要加一个GND 没有GND 是无法实现通信的
而下面两个是靠差分信号的电压差来控制电平的 所以并不需要加GND 而USB在使用中有些时候还是需要添加GND的 使用差分信号 可以极大的提高信号的抗干扰能力
而最后一列的设备选项是这样的 点对点指的是 从一个设备到另一个设备点对点的传输 而 多设备指的是 举个例子 就像是在教室里 老师给一群学术讲课

串口通信
•串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信
•单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片机系统的硬件实力
在这里插入图片描述
USART 串口通信选取的各个引脚
电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:

TTL电平:+3.3V或+5V表示1,0V表示0
RS232电平:-3-15V表示1,+3+15V表示0
RS485电平:两线压差+2+6V表示1,-2-6V表示0(差分信号)
在这里插入图片描述
一般来说整个数据帧中会有2种情况 一种是数据帧一共有10位 还有一种数据帧有11位 其中区别就在于是否在数据位第八位后添加一个奇偶校验位
串口的主要参数需要注意的
•波特率:串口通信的速率
•起始位:标志一个数据帧的开始,固定为低电平
•数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行
•校验位:用于数据验证,根据数据位计算得来
•停止位:用于数据帧间隔,固定为高电平
在这里插入图片描述
始位是这样得来的,就是我们把空闲状态全部视为高电平1 而后的起始位必须是低电平0 用来打破这种高电平的垄断
停止位: 也是如此 ,必须固定是高电平 1 用来表示真正的结束

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

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

相关文章

C++ 之动态链接库DLL使用注意事项及C#调用详解

C 之动态链接库DLL使用注意事项及C#调用详解 有时候算法开发完成之后需要封装成动态链接库DLL来进行集成,一方面增加了算法or代码的复用或者广泛使用性,另一方面也起了保密的效果平时封装成DLL之后放到一台新的电脑上会出现问题,所以本文总结…

企事业数字培训及知识库平台

前言 随着信息化的进一步推进,目前各行各业都在进行数字化转型,本人从事过医疗、政务等系统的研发,和客户深入交流过日常办公中“知识”的重要性,再加上现在倡导的互联互通、数据安全、无纸化办公等概念,所以无论是企业…

Gitlab-第四天-CD到k8s集群的坑

一、.gitlab-ci.yml #CD到k8s集群的 stages: - deploy-test build-image-deploy-test: stage: deploy-test image: bitnami/kubectl:latest # 使用一个包含 kubectl 工具的镜像 tags: - k8s script: - ls -al - kubectl apply -f deployment.yaml # 根据实际情况替换…

UDS (Unified Diagnostic Services)汽车诊断标准协议

作者博客主页 作者 : Eterlove 一笔一画,记录我的学习生活!站在巨人的肩上Standing on Shoulders of Giants! 该文章为原创,转载请注明出处和作者 参考文献: 《道路车辆统一诊断服务(UDS) Road vehicles - Unified diagnostic s…

【Windows 常用工具系列 8 -- 修改鼠标光标(指针)大小和颜色的快速方法方法】

文章目录 修改方法 上篇文章:Windows 常用工具系列 7 – 禁用win10自带的微软输入法 修改方法 Win键 i 快捷键进入设置页面,然后输入光标... 就会跳出修改鼠标大小与光标颜色的选项。 Win键是在计算机键盘左下角Ctrl和Alt键之间的按键 根据自己的需求…

强训第32

选择 D B A A 发送TCP意思应该是已经建立了连接,会超时重传。在未建立连接的时候,会放弃该链接 C A 80端口是http A 交换机攻击主要有五种:VLAN跳跃攻击 生成树攻击 MAC表洪水攻击 ARP攻击 VTP攻击 B A 2^(32-26)2^(32-27)2^(32-27)128 减去…

6.3 社会工程学攻击

数据参考:CISP官方 目录 社会工程学攻击概念社会工程学攻击利用的人性 “弱点”典型社会工程学攻击方式社会工程学攻击防护 一、社会工程学攻击概念 什么是社会工程学攻击 也被称为 "社交工程学" 攻击利用人性弱点 (本能反应、贪婪、易于信任等) 进…

你永远想象不到有多折磨的 Android 开发 react-native gradle*!¥%#

很难过,拿到项目运行不起来,错误报告研究几天没研究明白,改代码,装gradle,忙和好久还是一个样,也不知道是码的问题还是什么,一开始 后面装完gradle,不报错了,但是也跑不起…

leetcode 力扣刷题哈希表初尝试

哈希表 刷题初尝试 哈希表基础知识242. 有效的字母异位词383. 赎金信49. 字母异位词分组438. 找到字符串中所有字母异位词 哈希表基础知识 哈希表是一种数据结构,也叫散列表。哈希表中存储的是键值对,即(key,value),根据key直接查…

draw.io导出矢量图到word报错text is not svg - cannot display

先参考https://blog.csdn.net/a625750076/article/details/126384831 如果不行,可能是转存的问题 解决方法:直接在draw.io上操作 第一步 第二步 然后再word中粘贴,依旧是矢量图哦!

LeetCode150道面试经典题-- 汇总区间(简单)

1.题目 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区间范围 [a,…

Wi-Fi 安全在学校中的重要性

Wi-Fi 是教育机构的基础设施,从在线家庭作业门户到虚拟教师会议,应有尽有。大多数 K-12 管理员对自己的 Wi-Fi 网络的安全性充满信心,并认为他们现有的网络安全措施已经足够。 不幸的是,这种信心往往是错误的。Wi-Fi 安全虽然经常…

Excel设置某列或者某行不某行不可以编辑,只读属性

设置单元格只读的三种方式: 1、通过单元格只读按钮,设置为只为 设置行或者列的只读属性,可以设置整行或者整列只读 2、设置单元格编辑控件为标签控件(标签控件不可编辑) 3、通过锁定行,锁定行的修改。锁定的行与只读行的区别在于锁定的行不…

docker-compose部署nacos 2.2.3

1、编写docker-compose.yml文件 version: "3.1" services:nacos:restart: alwaysimage: nacos/nacos-server:v2.2.3container_name: nacosenvironment:- NACOS_AUTH_ENABLEtrue- MODEstandalone- NACOS_AUTH_TOKEN8b92c609089f74db3c5ee04bd7d4d89e8b92c609089f74db…

高层建筑全景vr火灾隐患排查模拟培训软件助力群众防范火灾伤害

随着城市化进程的加快,楼宇建筑的数量也在不断增加。然而,楼宇消防安全问题也日益突出。为了提高楼宇员工和居民的消防安全意识,楼宇VR消防安全教育培训应运而生。VR安全培训公司深圳华锐视点制作的楼宇vr消防安全教育培训,包括消…

初出茅庐的小李博客之STM32CubeMx配置定时器的编码器模式

STM32CubeMx配置定时器的编码器模式 上次文章写了编码器是如何工作的,今天就来用STM32F103C8T6的TIM3的通道1跟通道2编写一个编码器识别程序。 编程思路: A相:TIM3_CH1 B相:TIM3_CH2 SWITCH:PB5(外部中断的方式) 实现效果&a…

threejs实现水面的效果

实现水波纹的效果:加入几何形状,可以将平台的几何形状 const waterGeometry new THREE.PlaneGeometry( 10000, 10000 ); 引入水的插件,并修改水的材质。 import { Water } from three/addons/objects/Water.js;const water new Water(water…

【Java】常见面试题:网络

目录 1. 为什么需要网络协议的分层?2. 【封装和分用】3. Socket套接字主要针对传输层协议划分为如下三类(了解)4. 简单说一下TCP和UDP的区别:5. TCP中的长短连接6. 应用层重点协议7. TCP可靠传输机制(三次握手四次挥手…

excel中定位条件,excel中有哪些数据类型、excel常见错误值、查找与替换

一、如何定位条件 操作步骤:开始 - 查找和选择 - 定位条件(ctrl G 或 F5) 注:如果F5不可用,可能是这个快捷键被占用了 案例:使用定位条件选择取余中空单元格,填入100,按组合键ct…

C++之signal信号应用实例(一百七十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…