【江科大】STM32:USART串口(理论部分)上

news2024/9/24 17:20:46

串口

在这里插入图片描述
在这里插入图片描述
全双工:可以进行同步通信
单端信号:信号线传输的就是单端信号。(也就是与地线(GND)的电势差)
缺点:防干扰能力差
原因:当信号从A点传输到B点,理想条件是A,B两点的电势差差不多,但是干扰信号会让A,B两点的电势差。导致信号发生变化。电路的性能变差。

串口通信

  • 串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通
    信线路简单,可实现两个设备的互相通信。
  • 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各
    式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了
    单片机系统的硬件实力。
    在这里插入图片描述

1. 硬件电路

  • 简单双向串口通信有两根通信线(发送端TX和接收端RX)
  • TX与RX要交叉连接
  • 当只需单向的数据传输时,可以只接一根通信线
  • 当电平标准不一致时,需要加电平转换芯片
  • 线路中使用TTL电平
    -在这里插入图片描述

2. 电平标准

电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电
压与数据的对应关系,串口常用的电平标准有如下三种:
TTL电平:+3.3V或+5V表示1,0V表示0
RS232电平:-3 ~ -15V表示1,+3 ~ +15V表示0(使用大电器)
RS485电平:两线压差+2 ~ +6V表示1,-2 ~ -6V表示0(差分信号:
抗干扰能力强,可传输上千米)

3.串口参数以及时序

波特率:串口通信的速率双方必须约定好传输速率,接收和发送速率
比特率:每秒传输的比特数,二进制调制1高,0低比特率=波特率
起始位:标志一个数据帧的开始,固定为低电平
数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行00001111
校验位:用于数据验证,根据数据位计算得来
停止位:用于数据帧间隔,固定为高电平,为下一个开始做准备
在这里插入图片描述

4.串口时序

在这里插入图片描述
在这里插入图片描述

串口外设简介

  • USART (Universal Synchronous/Asynchronous Receiver/Transmitter)
    通用同步/异步收发器。
  • USART:是STM32内部集成的硬件外设,可根据数据寄存器的一个字节数据自动生成数据帧时序,从TX引脚发送出去,也可自动接收RX引脚的数据帧时序,拼接为一个字节数据,存放在数据寄存器里。
  • 自带波特率发生器,最高达4.5 bits/s(其实就是分频器,得到想要想要波特率)(9600)
  • 可配置数据位长度(8/9)、停止位长度(0.5/1/1.5/2):决定帧的间隔。
  • 可选校验位(无校验/奇校验/偶校验
  • 支持同步模式、硬件流控制:控制当V发送>V接收,导致数据覆盖
    防止数据丢失(准备好高电平,没有置为低电平)、DMA、智能卡、IrDA(红外接收管)、LN
    在这里插入图片描述

外设框图

在这里插入图片描述

在这里插入图片描述

USART的基本结构

在这里插入图片描述

数据帧

在这里插入图片描述
在这里插入图片描述

起始位侦测

在这里插入图片描述

数据采样

在这里插入图片描述

波特率发生器

发送器和接收器的波特率由波特率寄存器BRR里的DIV确定

在这里插入图片描述

CH340原理图

在这里插入图片描述

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

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

相关文章

java steam 的使用

说steam 前看下kotlin的一个写法如果用java怎么写 fun main() {// 创建一个列表val fruits listOf("Apple", "Banana", "Cherry", "Date", "Elderberry")// 使用 Sequence 进行过滤和映射操作val uppercaseFruitLengths …

qt-C++笔记之命令行编译程序,特别是使用Q_OBJECT宏包含了moc(Meta-Object Compiler)的情况

qt-C笔记之命令行编译程序,特别是使用Q_OBJECT宏包含了moc(Meta-Object Compiler)的情况 —— 杭州 2024-01-24 code review! 文章目录 qt-C笔记之命令行编译程序,特别是使用Q_OBJECT宏包含了moc(Meta-Object Compiler)的情况1.问题现象:q…

【华为 ICT HCIA eNSP 习题汇总】——题目集6

1、IEEE 802.11g 标准支持的最大协商速率为()。 A、300Mbps B、150Mbps C、54Mbps D、1200Mbps 考点:无线局域网 解析:(C) IEEE 802.11系列标准如下表: 标准数据传输速率主要技术IEEE 802.111M…

qml与C++的交互

qml端使用C对象类型、qml端调用C函数/c端调用qml端函数、qml端发信号-连接C端槽函数、C端发信号-连接qml端函数等。 代码资源下载: https://download.csdn.net/download/TianYanRen111/88779433 若无法下载,直接拷贝以下代码测试即可。 main.cpp #incl…

Qt/QML编程之路:ListView实现横排图片列表的示例(40)

ListView列表,在QML中使用非常多,排列一个行,一个列或者一个表格,都会用到ListView。 ListView显示从内置QML类型(如ListModel和XmlListModel)创建的模型中的数据,或在C++中定义的从QAbstractItemModel或QAbstract ListModel继承的自定义模型类中的数据。 ListView有一…

计算机服务器中了mallox勒索病毒解密方案计划,勒索病毒解密措施

计算机技术的不断应用与发展,为企业的生产运营提供了有利条件,但网络安全威胁无处不在。近期,广西某生物制药企业的计算机服务器遭到了mallox勒索病毒攻击,导致企业的计算机所有重要数据被加密,严重影响企业的生产运营…

H5嵌入小程序适配方案

时间过去了两个多月,2024已经到来,又老了一岁。头发也掉了好多。在这两个月时间里都忙着写页面,感觉时间过去得很快。没有以前那么轻松了。也不是遇到了什么难点技术,而是接手了一个很烂得项目。能有多烂,一个页面发起…

gin中使用swagger生成接口文档

想要使用gin-swagger为你的代码自动生成接口文档,一般需要下面三个步骤: 按照swagger要求给接口代码添加声明式注释,具体参照声明式注释格式。使用swag工具扫描代码自动生成API接口文档数据使用gin-swagger渲染在线接口文档页面 第一步&…

IDEA远程服务器开发

IDEA的远程开发是在本地去操远程服务器上的代码,可以直接将本地代码的编译,构建,调试,运行等工作都放在远程服务器上而本地运行一个客户端远程去操作服务器上的代码,就如同我们平常写代码一样。相比于云桌面成本更低,开发效率更高。 1.首先服务器配置jdk&#xff0…

C# 将HTML网页、HTML字符串转换为PDF文件

将HTML转换为PDF可实现格式保留、可靠打印、文档归档等多种用途,满足不同领域和情境下的需求。本文将通过以下两个示例,演示如何使用第三方库Spire.PDF for .NET和QT插件在C# 中将Html 网页(URL)或HTML字符串转为PDF文件。 HTML转…

微服务环境搭建:docker+nacos单机

nacos需要连接mysql,持久化相关配置。 1. 部署好mysql后,新建nacos数据库然后初始化nacos脚本 -- -------------------------------------------------------- -- 主机: 192.168.150.101 -- 服务器版本: …

[Go]认识Beego框架

对比Gin的简洁,自己之前基于Gin撸了一个架子,确实比beego目录看着舒服多了,不过最近接触到beego的项目,beego的bee工具使用还是很方便,来简单梳理下细节; Beego是一个开源的Go语言Web应用框架,…

jenkins+gitlab实现Android自动打包填坑之旅

一.背景 1.首先你需要知道你想要实现的Android自动打包的Android项目的一些环境配置及需要使用的一些开发版本。 声明:本文 Android项目基于:1.jdk11 2.SDK无要求 3.gradle无要求(同Manven一样为项目自动化构建开源工具) 注&am…

【安卓版】网页转应用v1.2,生成属于你的专属应用

网页转应用可以将网址转换成可安装的APP应用。无论是新闻、博客、论坛、游戏,还是在线购物网站或者社交媒体平台,只要你有个希望转换的网址,这款应用都能为你实现,应用永久免费使用,并且无需联网,即可生成你…

【JavaWeb】会话管理 cookie session 三大域对象总结

文章目录 会话管理一、Cookie1.1 Cookie的使用1.2 Cookie的时效性1.3 Cookie的提交路径 二、Session2.1 HttpSession的使用2.2 HttpSession时效性 三、三大域对象3.1 域对象概述3.2 域对象的使用 总结 会话管理 HTTP是无状态协议 无状态就是不保存状态,即无状态协议(stateless)…

GIt同时存在传入和传出更改修改,无法合并

前言 Git是常用的版本管理工具,之前面试被问到过一次——Git有无遇到过使用错误情况?当时卡壳了没答上来,所以这次遇到,特此记录学习。 问题概述 前一天提交了代码,mt进行了修改。但我忘记拉取最新,就进…

1.19号网络

超时检测 概念 1> 在网络通信中,有很多函数是阻塞函数,会导致进程的阻塞,例如:accept、recv、recvfrom、等等 2> 为了避免进程在阻塞函数处,无休止的等待,我们可以设置一个超时时间,当…

【云原生】Docker的端口映射、数据卷、数据卷容器、容器互联

目录 一、端口映射(相当于添加iptables的DANT) 二、数据卷创建(宿主机目录或文件挂载到容器中) 三、数据卷容器(多个容器通过同一个数据卷容器为基点,实现所有容器数据共享) 四、容器互联&am…

尝试给docker ubuntu22.04镜像添加远程访问桌面

实在时不愿折腾,但是ubuntu 镜像没有桌面,有些操作实在太难受了,效率也不高。硬着头皮上吧。幸亏这是个docker的镜像。要是个虚拟机,这折腾来去,直接崩溃了。docker的好处就是立马就能从头来过,秒级的删除安…

Hive常见问题汇总

Hive和Hadoop的关系 Hive 构建在 Hadoop 之上, HQL 中对查询语句的解释、优化、生成查询计划是由 Hive 完成的 所有的数据都是存储在 Hadoop 中 查询计划被转化为 MapReduce 任务,在 Hadoop 中执行(有些查询没有 MR 任务,如&…