STM32 串口基础知识学习
串行/并行通信
串行通信:数据逐位按顺序依次传输。

并行通信:数据各位通过多条线同时传输。

对比
- 传输速率:串行通信较低,并行通信较高。
- 抗干扰能力:串行通信较强,并行通信较弱。
- 通信距离:串行通信较长,并行通信较短。
- IO资源占用:串行通信较少,并行通信较多。
- 成本:串行通信较低,并行通信较高。
单工/半双工/全双工通信
单工通信:数据只能沿一个方向传输。(类似于广播站)

半双工通信:数据可以沿两个方向传输,但需要分时进行。

全双工通信:数据可以同时进行双向传输。

同步/异步通信

同步通信:共用同一种时钟信号。
异步通信:没有时钟信号,通过在数据信号中加入起始位和停止位等一些同步信号。
波特率
比特率:每秒钟传送的比特数,单位bit/s
波特率:每秒钟传送的码元数,单位Baud
比特率 = 波特率 * log2M,M表示每个码元承载的信息量。
二进制系统中,波特率数值上等于比特率。
常见的串行通信接口
- UART(通用异步收发器):接口引脚:TXD(发送端)、RXD(接收端)、GND(公共地);数据同步方式:异步通信;数据传输方向:全双工。
- 1-wire:接口引脚:DQ:发送/接收端;数据同步方式:异步通信;数据传输方向:半双工。
- IIC:接口引脚:SCL:同步时钟、SDA:数据输入/输出端;数据同步方式:同步通信;数据传输方向:半双工。
- SPI:接口引脚:SCK:同步时钟、MISO:主机输入,从机输出、MOSI:主机输出,从机输入、CS:片选信号;数据同步方式:同步通信;数据传输方向:全双工。

串口:串行通信接口:按位发送和接收的接口。如:RS-232/422/485等。
RS-232电平与COMS/TTL电平对比
- RS-232电平:逻辑1:-15V–3V,逻辑0:+3V-+15v
- CMOS电平(3.3V):逻辑1:3.3V,逻辑0:0V(STM32)
- TTL电平(5V):逻辑1:5V,逻辑0:0V
因此:CMOS/TTL电平不能与RS-232电平直接交换信息。
两个设备之间的TXD和RXD,必须交差连接,才能正常通信。
STM32串口与电脑USB口通信

相关文章:
STM32 串口基础知识学习
串行/并行通信 串行通信:数据逐位按顺序依次传输。 并行通信:数据各位通过多条线同时传输。 对比 传输速率:串行通信较低,并行通信较高。抗干扰能力:串行通信较强,并行通信较弱。通信距离:串…...
页面滚动时隐藏element-ui下拉框/时间弹框
场景 在系统中,当(有垂直滚动时)点击下拉框后滚动页面,会发现下拉项会遮盖住页面中的元素,不会隐藏 解决:(以vue为例) 在页面滚动或者缩放时隐藏下拉项即可(借助点击目标元素,下…...
C#中i++和++i的底层原理
一:前言 我们都知道,i是先取值,后计算。i是先计算,后取值。下面说下它的底层原理 二:原理 int i 0; i; Console.WriteLine(i); 结果是1 执行步骤是: 1.将常量0压入栈中 2.从栈中取出元素0,局…...
在win10下安装verilator
主要参考文章 Verilator简介及其下载安装卸载_徐晓康的博客的博客-CSDN博客https://blog.csdn.net/weixin_42837669/article/details/114505364上面的文章可以解决大部分问题,但是可能是方案有些老了,已经安装最新的版本,下面对最新的版本安装提供解决方案 一 预备工作 安…...
java设计模式-建造者(Builder)设计模式
介绍 Java的建造者(Builder)设计模式可以将产品的内部表现和产品的构建过程分离开来,这样使用同一个构建过程来构建不同内部表现的产品。 建造者设计模式涉及如下角色: 产品(Product)角色:被…...
iOS开发-实现获取下载主题配置动态切换主题
iOS开发-实现获取下载主题配置动态切换主题 iOS开发-实现获取下载主题配置更切换主题,主要是通过请求服务端配置的主题配置、下载主题、解压保存到本地。通知界面获取对应的图片及颜色等。 比如新年主题风格,常见的背景显示红色氛围图片、tabbar显示新…...
react经验4:动态组件
什么是动态组件? 在页面的一小块区域切换显示不同的组件 实现方法 1.声明示例组件 //写在component1.tsx中 const Component1()>{return (<div>组件1</div>) } //写在component2.tsx中 const Component2()>{return (<div>组件2</div…...
Java maven的下载解压配置(保姆级教学)
mamen基本概念 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以…...
Java课题笔记~数据库连接池
一、数据库连接池 1.1 数据库连接池简介 数据库连接池是个容器,负责分配、管理数据库连接(Connection) 它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个; 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数…...
设计模式-单例模式
文章目录 单例模式饿汉式单例懒汉式单例懒汉式加锁单例双重锁校验单例静态内部类单例枚举单例 单例模式 单例模式主要是确保一个类在任何情况下都只有一个实例,并提供一个全局访问的点。 主要有以下几种 饿汉式单例 /*** 饿汉式* 类加载到内存后,就实…...
golang mysql
驱动 "github.com/go-sql-driver/mysql"使用到的方法 func sql.Open(driverName string, dataSourceName string) (*sql.DB, error) func (*sql.DB).Prepare(query string) (*sql.Stmt, error)//使用DB.Prepare预编译并使用参数化查询,对预编译的SQL语句…...
uniapp使用echarts
uniapp使用echarts 1.下载资源包2.引入资源包3.代码示例注意事项 1.下载资源包 https://echarts.apache.org/zh/download.html 2.引入资源包 将资源包放入项目内 3.代码示例 <template><div style"width:100%;height:500rpx" id"line" ref&…...
Python命令模式介绍、使用
一、Python命令模式介绍 Python命令模式(Command Pattern)是一种行为型设计模式,它允许将请求或操作封装在对象中,并将其作为参数传递给调用对象,以在不同的环境中执行相同的请求或操作。 功能: 将请求或…...
#typescript 使用file-saver模块#
场景:前端使用file-saver模块做导出文档的时候,出现两个错误 1:npm run build 提示找不到模块,如图 解决方法: 先卸载,不管是否安装都先要卸载 ,然后安装: npm uninstall file-saver npm…...
移动端适配布局rem和vw
在日益发展的移动互联网时代,作为前端开发者,我们必须了解和掌握各种移动端显示效果的适配技术。在众多适配方案中,使用rem和vw进行布局是当前最为流行和普遍使用的两种技术。通过合理运用这两种技术,我们可以让我们的网页在不同尺…...
【Java基础教程】(四十八)集合体系篇 · 上:全面解析 Collection、List、Set常用子接口及集合元素迭代遍历方式~【文末送书】
Java基础教程之集合体系 上 🔹本章学习目标1️⃣ 类集框架介绍2️⃣ 单列集合顶层接口:Collection3️⃣ List 子接口3.1 ArrayList 类🔍 数组(Array)与列表(ArrayList)有什么区别?3.2 LinkedL…...
什么是 DNS ANAME 解析?
本人使用谷歌搜索了简中互联网,完全没有找到任何有关 ANAME 的文章……本文该不会是头一份吧 相信大家对于 DNS 的解析方式都不陌生,常见的有 A、CNAME、MX、TXT 记录等等。其中,网站常用的是 A 记录和 CNAME 记录:A 记录用于将域…...
Neo4j 集群和负载均衡
Neo4j 集群和负载均衡 Neo4j是当前最流行的开源图DB。刚好读到了Neo4j的集群和负载均衡策略,记录一下。 1 集群 Neo4j 集群使用主从复制实现高可用性和水平读扩展。 1.1 复制 集群的写入都通过主节点协调完成的,数据先写入主机,再同步到…...
go web框架 gin-gonic源码解读01————Engine
go web框架 gin-gonic源码解读01————Engine gin-gonic是go语言开发的轻量级web框架,性能优异,代码简洁,功能强大。有很多值得学习的地方,最近准备把这段时间学习gin的知识点,通过engine,context,router…...
windows版docker部署springcloud项目
材料: 1.windows版docker环境(其他版教程可能道理一样但是比如文件后坠名上可能有差异) 2.运行好的数据库容器(实现教程) 3.所有jar包 实现: 最后整好的文件夹结构图(原工程文件机密…...
伯克利Octo机器人框架实战:5步搞定跨平台任务迁移(附代码)
伯克利Octo机器人框架实战:5步搞定跨平台任务迁移(附代码) 在机器人开发领域,硬件平台的多样性一直是阻碍算法快速部署的主要瓶颈。想象一下,你花费数月为WidowX机械臂开发的抓取算法,当实验室新购入UR5工业…...
Vue项目中天地图显示不全?试试这个MutationObserver的巧妙解法
Vue项目中天地图显示不全的终极解决方案:MutationObserver深度解析 第一次在Vue项目中集成天地图时,那种地图只渲染出一半的挫败感至今记忆犹新。控制台没有报错,API调用看起来也没问题,但地图就像被无形的剪刀裁切过一样…...
Qwen3.5-9B-AWQ-4bit参数调优实战:温度=0.7时中文回答质量与响应速度平衡点
Qwen3.5-9B-AWQ-4bit参数调优实战:温度0.7时中文回答质量与响应速度平衡点 1. 模型概述与参数调优背景 Qwen3.5-9B-AWQ-4bit是一个支持图像理解的多模态模型,能够结合上传图片与文字提示词输出中文分析结果。在实际应用中,我们发现温度参数…...
5分钟彻底告别风扇噪音!FanControl终极静音配置完全指南
5分钟彻底告别风扇噪音!FanControl终极静音配置完全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/…...
2026年Java面试最常被问的1000道题目及参考答案
Java学到什么程度可以面试工作? 要达到能够面试Java开发工作的水平,需要掌握以下几个方面的知识和技能: 1. 基础扎实:熟悉Java语法、面向对象编程概念、异常处理、I/O流等基础知识。这是所有Java开发者必备的基础,也…...
BM42S3021-1热电偶模块嵌入式驱动与I²C集成实战
1. BM42S3021-1热电偶模块底层技术解析与嵌入式集成实践1.1 模块硬件架构与通信协议本质BM42S3021-1是Best Modules公司推出的高精度热电偶信号调理模块,其核心并非简单的IC从设备,而是一个集成了冷端补偿(Cold Junction Compensation, CJC&a…...
示波器测量UART波特率的原理与实践
1. 示波器测量串口波特率的原理与方法 1.1 串口通信基础 在嵌入式系统开发中,UART串口通信是最常用的调试接口之一。正确识别串口波特率对于设备调试和逆向工程具有重要意义。串口通信采用异步传输方式,其关键参数包括: 波特率:…...
安卓手机秒变AI开发神器:Aid Learning零基础图形化Linux环境搭建指南
安卓手机秒变AI开发神器:Aid Learning零基础图形化Linux环境搭建指南 在移动互联网时代,开发者对便携开发环境的需求与日俱增。传统Termux虽然功能强大,但配置复杂、缺乏图形界面,让许多初学者望而却步。Aid Learning的出现彻底改…...
Java中使用四叶天动态代理IP构建代理池——HttpClient与Jsoup爬虫实战
本文档详细介绍如何使用四叶天动态代理IP服务,在Java中构建高效的IP代理池,并结合HttpClient和Jsoup实现高可用的网络爬虫。1. 为什么需要动态代理IP池?1.1 爬虫被封的痛点做过爬虫开发的都知道,同一个IP频繁请求目标网站…...
不止基础管理!国产 CRM 软件如何用数据分析赋能客户与销售工作
引言2026年国内企业数字化转型已进入深水区,CRM早已脱离了单纯的客户信息台账工具属性,数据分析能力成为衡量CRM产品价值的核心指标——从线索获客成本核算到跟单转化率优化,从客户复购价值挖掘到全链路风险管控,高质量的数据分析…...
