URAT串口通信协议

UART是异步串行全双工总线,面向设备和设备之间的连接

配置相关内容

1、串口为串行通讯方式,代表一个时钟周期,只可以收发一位数据

2、115200代表什么,以及115200单位 单位:bps(比特率、二进制/秒)

115200代表:1S钟可以传输115200bits数据

115200倒数代表:表示收发1位数据所需要的时间

3、8N1代表什么

8:8位数据位

N:无奇偶校验位

1:1位停止位

协议

1、空闲态

空闲态处于高电平状态,总线没有进行数据传输时,总线处于空闲状态

2、起始信号

串口通信开始的标志,起始信号处于低电平状态

3、数据位

串口完成数据的收发,数据位可以设置为7位/8位/9位

4、校验位

奇校验:数据位和校验位1的个数为奇数

假设发送的数据为0x55(01010101),校验位:1

假设发送的数据为0x51(01010001),校验位:0

偶校验:数据位和校验位1的个数为偶数

假设发送的数据为0x55,校验位:0

假设发送的数据为0x51,校验位:1

5、停止位

1)发送数据结束的标志,停止位处于高电平状态

2)校准时钟源,因为串口采用的是异步通讯,双方都有自己独立的时钟源

但是在实际的数据传输过程中,一帧数据传输完成之后,肯定会存在误差

越往后,误差越大,导致收发数据不准确

框图

通过以上框图分析可知,需要分析芯片手册RCC/GPIO/UART章节

1、RCC章节:使能GPIOG/GPIOB/UART4组控制器

2、GPIO章节:1)设置复用功能模式 2)设置复用功能为串口功能

3、UART章节:1)初始化(115200.8N1) 2)完成数据收发

1、RCC章节

使能GPIOG/GPIOB/UART4组控制器

查看相关手册,找到对应的总线和对应的寄存器

1、确定RCC控制器通过哪根总线与cortex-A7进行连接 ===> AHB4总线

2、确定GPIO控制器通过哪根总线与cortex-A7进行连接 ===> AHB4总线

3、确定UART控制器通过哪根总线与cortex-A7核进行连接 ===> APB1总线

2、GPIO章节:

1)设置复用功能模式

2)设置复用功能为串口功能

3、UART章节:

内部框图

1)初始化(115200.8N1)

2)完成数据收发

 

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

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

相关文章

MySQL 的执行原理(四)

5.5. MySQL 的查询重写规则 对于一些执行起来十分耗费性能的语句,MySQL 还是依据一些规则,竭尽全力的把这个很糟糕的语句转换成某种可以比较高效执行的形式,这个过程也可以 被称作查询重写。 5.5.1. 条件化简 我们编写的查询语句的搜索条件…

2023下半年软件设计师考试知识点大全思维导图

软件设计师考试知识点大全思维导图 2023年下半年第一次机考 复习资料 以上是我在学习过程中根据自己的知识结构的特点及刷到的考题 做的导图,有需要的可以留言发原版的 mmap格式文件 方便自己拓展. 软考资料 这是网上找的资料 汇总免费放在这里 吧![ 链接&#x…

Mysql相关操作命令合集

参考文档:2021-06-25MySQL8.0创建用户和权限控制 - 简书 mysql登陆命令: mysql -u用户名 -p密码; 若遇到复杂密码,包含特殊字符,则需要做转义(以下密码为:rootry?elyl!): mysql…

【封装UI组件库系列】搭建项目及准备工作

封装UI组件库系列第一篇搭建项目 前言 🌟搭建项目 创建工程 基本结构 1.创建8个组件展示页面 ​ 2.配置路由文件router/index.js 3.页面布局 🌟总结 前言 在前端开发中,大家可能已经用过各种各样的UI组件库了,现在市面上热…

react的组件和元素的类型总结

先来一小段代码 const Demo <div>Demo</div>const App () > {return (<div><Demo></Demo></div>); }不知道这段代码大家会不会发现是错误的&#xff0c;这里的Demo 是一个JSX&#xff0c;并不是一个组件&#xff0c;所有不能使用<…

Android WMS——输入系统管理(十七)

一、简介 1、工作原理 输入子系统从驱动文件中读取事件后,再封装提交给 IMS,IMS 再发送给 WMS 进行处理。 Android 输入系统的工作原理概括来说,内核将原始事件写入到设备节点中,InputReader 不断地通过 EventHub 将原始事件取出来并翻译加工成 Android 输入事件,…

MySQL为什么选择了B+树

首先MySQL的数据**&#xff08;索引记录&#xff09;**是存在磁盘里的&#xff0c;磁盘读取非常慢&#xff0c;所以要尽可能减少磁盘操作&#xff0c;因此我们需要更好的利用索引。 首先索引按顺序排列了数据&#xff0c;那么很显然最好的查找方式是二分查找&#xff0c;数组自…

Web 自动化神器 TestCafe(二)—元素定位篇

今天主要给大家介绍一下testcafe这个框架元素定位的方法。 一、CSS 选择器定位 使用 testcafe 对元素进行操作的时候&#xff0c;我们可以直接通过 CSS 选择器指定要操作的元素&#xff0c;比如&#xff0c;点击元素&#xff0c;input 输入文本内容&#xff0c;如下&#xff1…

C++中tuple数据结构使用

目录 1 基础知识2 模板3 工程化 1 基础知识 tuple是元组&#xff0c;一旦定义则不可修改&#xff0c;它可以存储一组不同类型的数据。它定义在头文件#include <tuple>中。 &#xff08;一&#xff09; tuple变量的定义。 tuple<int, float, string> a {1, 2.0,…

vue3 实现pdf预览

需要下载pdfjs-dist <template><a-modal class"fill-modal" v-model:open"state.visible" :title"state.modalTitle" width"50%" cancel"handleCancel"><div class"preview-btns-posi"><a-…

Ubuntu上安装Nginx

1、下载Nginx&#xff0c;下载地址 2、解压Nginx的压缩文件&#xff0c;tar -xvf nginx-1.24.0 3、进入文件内部&#xff0c; cd nginx-1.24.0 4、配置环境&#xff0c;./configure --prefix/usr/local/nginx --with-http_gzip_static_module&#xff0c;prefix为安装的路径。…

Web3 分布式存储 IPFS(Web3项目一实战之四)

IPFS是一种分布式文件存储协议,它允许世界各地的计算机存储和服务文件作为一个巨大的对等网络的一部分来存储和服务文件。 世界上任何地方的任何计算机都可以下载IPFS软件并开始托管和提供文件。 如果有人在自己的计算机上运行IPFS,并将文件上传到IPFS网络,那么世界上其他任…

OpenVPN Connect使用连接公网VPN服务器实现内网穿透

安装并运行OpenVPN Connect 点击AGREE 添加配置.OVPN文件 点击连接 连接成功 两个内网主机通过公网VPN穿透

Python subprocess设置超时不生效问题

使用Python脚本写了个测试程序&#xff0c;测试程序中会执行SHELL脚本&#xff0c;并且设置了超时时间&#xff0c;大概是这样的&#xff1a; subprocess.run("do something", shellTrue, stdoutsubprocess.PIPE, timeout30.0)但是却发现运行的时候&#xff0c;测试…

java学习part06数组

62-数组-数组的概述_哔哩哔哩_bilibili 这篇 Java 基础&#xff0c;我吹不动了 - 掘金 (juejin.cn) 1.数组概念 重点 2.数组声明和初始化 new的时候要么给出静态初始化的数据{a,b,c}&#xff0c;要么给出动态初始化指定长度 [4]。 否则报错&#xff0c;初始化必须确定长度…

java拼图小游戏

第一步是创建项目 项目名自拟 第二部创建个包名 来规范class 然后是创建类 创建一个代码类 和一个运行类 代码如下&#xff1a; package heima;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import jav…

二维偏序问题

偏序 偏序(Partial Order)的概念: 设 A 是一个非空集,P 是 A 上的一个关系,若 P 满足下列条件: Ⅰ 对任意的 a ∈ A,(a, a) ∈ P;(自反性 reflexlve)Ⅱ 若 (a, b) ∈ P,且 (b, a) ∈ P,则 a = b;(反对称性,anti-symmentric)Ⅲ 若 (a, b) ∈ P,(b, c) ∈ P,则 (a,…

快速排序知识总结

快速排序思维导图&#xff1a; 快速排序算法模版&#xff1a; #include <iostream>using namespace std;const int N 1e5 10;int n; int q[N];void quick_sort(int q[], int l, int r) {if (l > r) return;int x q[(l r) / 2], i l - 1, j r 1;while (i < …

VS2022 配置 OpenCV并开始第一个程序

VS2022安装 首先下载 VisualStudioSetup.exe 下载连接&#xff1a;Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 点击上面的链接即可进入到下载页面。进入到下载页面&#xff0c;可看到有几个版本可选&#xff0c;如下&#xff1a; 我选择的是企业版&#xff1a;E…

c++并发编程/多线程 thread 库

系列文章目录 文章目录 系列文章目录-进程-前言base类线程执行函数结果分析小结&#xff0c;行为总结 -c11线程对象创建后既不join()也不detach()的后果-附注代码 -进程 进程是运行着的程序 进程内存空间分配&#xff1a;略 如果主进程结束而子进程未结束&#xff0c;则Linu…