单片机学习13——串口通信

单片机的通信功能:

实现单片机和单片机的信息交换,实现单片机和计算机的信息交换。

计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。

通信有并行通信和串行通信两种方式。

在多微机系统以及现在测控系统中信息的交换多采用串行通信方式。

并行通信通常是将数据字节的各位用多条数据线同时进行传送。

 

并行通信特点:控制简单、传输速度快;但传输线较多,长距离传送时成本高接收方的各位同时接收存在困难。

串行通信是将数字字节分成一位一位的形式在一条传输线上逐个进行传输。

串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行复杂。

串行的通信方式:

单工、半双工、全双工。

串行通信分两大类:

异步通信和同步通信。

异步通信是指通信的发送和接收设备使用各自的时钟控制数据的发送和接收,为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。

异步通信是以字符为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一个字符的各位之间的距离均为“位间隔”的整数倍。

异步通信的数据格式:

 说明:

1)起始位是一个低电平。

2)数据位只有七位,传输的时候是从低位开始。

3)校验位的作用:传输数据的时候出错的时候的检验。如果出错,告诉发送设备重新发送数据。

4)停止位:一个位宽电平来告诉。

异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2-3位用于起止位,各帧之间还有间隔,因此传输效率不高

串行通信的接口标准:

1、RS-232C接口:

25针接口和9针接口。 

8051串行口的结构:

SBUF为两个物理上独立的接收、发送缓冲器,它们有相同的名字和地址空间,共同地址99H,但不会发生冲突;因为接收器只能CPU读出数据;发送缓冲区只能被CPU写入数据,不会产生重叠错误。

控制器:

T1 定时器T1。

T1溢出率决定了控制器的工作速率。

SMOD:PCON的最高位,当为0,T1溢出率为32分频,当为1的时候,T1溢出率为16分频。

但溢出的时候,最高位给CPU一个中断申请。

8051串行口的控制寄存器

SCON是一个特殊的功能寄存器,用以设定串行口的工作方式、接收、发送控制以及设置状态标志。

说明:

1)fosc是单片机的晶振频率。

2)方式一是最常用的方式。

SM2,多机通信控制位,主要用于方式2和方式3。

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

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

相关文章

看图学源码之 CopyOnWriteArrayList 源码分析

基本简介: 是Java中的一个线程安全的List实现,也是ArrayList 的安全版本,所以就不会有ArrayList 的并发修改异常 的问题产生了 原理 每次在对 List 进行修改时,创建一个新的副本(即拷贝),而不…

共创共赢|美创科技获江苏移动2023DICT生态合作“产品共创奖”

12月6日,以“5G江山蓝 算网融百业 数智创未来”为主题的中国移动江苏公司2023DICT合作伙伴大会在南京成功举办。来自行业领军企业、科研院所等DICT产业核心力量的百余家单位代表参加本次大会,共话数实融合新趋势,共拓合作发展新空间。 作为生…

Linux环境下用yum安装postgres15

1. 下载PostgreSQL 15 安装包 在官网选择对应版本的安装包 https://www.postgresql.org/download/ Linux | CentOS 7 | PostgreSQL 15 2. 安装PostgreSQL 15 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-la…

Windows 10安装FFmpeg详细教程

Windows 10安装FFmpeg详细教程 0. 背景 在搭建之前的项目环境时,需要安装ffmpeg,在此记录下过程 1. 官网下载 点击进入官网:ffmpeg,官网地址:https://ffmpeg.org/download.html 如图所示,点击Windows图标…

TCP通信

第二十一章 网络通信 本章节主要讲解的是TCP和UDP两种通信方式它们都有着自己的优点和缺点 这两种通讯方式不通的地方就是TCP是一对一通信 UDP是一对多的通信方式 接下来会一一讲解 TCP通信 TCP通信方式呢 主要的通讯方式是一对一的通讯方式,也有着优点和缺点…

LoadBalancer将服务暴露到外部实现负载均衡purelb-layer2模式配置介绍

目录 一.purelb简介 1.简介 2.purelb的layer2工作模式特点 二.layer2的配置演示 1.首先准备ipvs和arp配置环境 2.purelb部署开始 (1)下载purelb-complete.yaml文件并应用 (2)查看该有的资源是否创建完成并运行 &#xff…

12.7作业

1. #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//***********窗口相关设置***********//设置窗体大小this->resize(540,410);this->setFixedSize(540,410);//取消菜单栏this->setWindowFlag(Qt::FramelessWindowHint);/…

RNN:文本生成

文章目录 一、完整代码二、过程实现2.1 导包2.2 数据准备2.3 字符分词2.4 构建数据集2.5 定义模型2.6 模型训练2.7 模型推理 三、整体总结 采用RNN和unicode分词进行文本生成 一、完整代码 这里我们使用tensorflow实现,代码如下: # 完整代码在这里 imp…

【概率统计】如何理解概率密度函数及核密度估计

文章目录 概念回顾浅析概率密度函数概率值为0?PDF值大于1?一个栗子 核密度估计如何理解核密度估计核密度估计的应用 总结 概念回顾 直方图(Histogram):直方图是最直观的一种方法,它通过把数据划分为若干个区…

UDP协议实现群聊

代码: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.net.*; import java.io.IOException; import java.lang.String;public class liaotian extends JFrame{private static final int DEFAULT_PORT8899;private JLabel stateLB…

【C语言快速学习基础篇】之二控制语句、循环语句、隐式转换

文章目录 一、控制语句1.1、for循环1.2、while循环1.3、注意:for循环和while循环使用上面等同1.4、do while循环1.4.1while条件成立时1.4.2、while条件不成立时 C语言介绍 C语言是一门面向过程的计算机编程语言,与C、C#、Java等面向对象编程语言有所不同…

[MySQL--基础]事务的基础知识

前言 ⭐Hello!这里是欧_aita的博客。 ⭐今日语录:生活中最重要的决定就是要做出决定。 ⭐个人主页:欧_aita ψ(._. )>⭐个人专栏: 数据结构与算法 MySQL数据库 事务的目录📕 前言事务简介🚀事务操作🚀准…

晶圆测试工艺介绍

第一章、晶圆测试简介 晶圆测试的方式,主要是通过测试机(事先编好程序)和探针台的联动,依靠探针卡的接触衔接,进行晶圆级的芯片测试。 当探针卡Probecard 的探针正确接触晶圆wafer 内一颗 芯片die的每个接触点bondpads…

ROS 动态坐标变换

在ROS 中,坐标变换是一个重要的概念,因为它允许系统中的不同节点和模块以统一的方式描述物体的位置和方向。 动态坐标变换指的是当机器人或其环境中物体的位姿(位置和姿态)发生变化时,能够实时更新这些信息的过程。 …

Leetcode—290.单词规律【简单】

2023每日刷题&#xff08;五十一&#xff09; Leetcode—290.单词规律 实现代码 class Solution { public:bool wordPattern(string pattern, string s) {unordered_map<char, string> m1;unordered_map<string, char> m2;stringstream stro(s);string tmp;for(a…

axios调接口传参特殊字符丢失的问题(encodeURI 和 encodeURIComponent)

1、axios调接口特殊字符丢失的问题 项目开发过程中遇到一个接口传参&#xff0c;参数带特殊字符&#xff0c;axios调接口特殊字符丢失的问题 例如接口&#xff1a; get/user/detail/{name} name是个参数直接调接口的时候拼到接口上&#xff0c;get/user/detail/test123#$%&am…

python socket编程6 - 使用PyQt6 开发UI界面实现TCP server和TCP client单机通讯的例子

使用PyQt6 开发UI界面实现TCP server和TCP client单机通讯的示例。 一、PyQt6 实现的界面 二、TCP server代码的修改示意 界面提供网络参数的配置&#xff0c;以及提供人机交互过程中的数据获取和显示。 1、把上面的server代码封装成两个部分 A、class Server 负责接受UI界面…

网络层之IP数据报格式、数据报分片、IPv4、子网划分和子网掩码

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

我有才打造知识付费小程序

一站式线上线下活动管理 为用户提供“精彩城市生活和人脉资源”。 在线活动提供创业、互联网、科技、投资、金融、教育、亲子、生活、聚会交友、医疗、设计、分享会、脱口秀、音乐演出等多种活动类型, 为职场白领提升技能、拓展人脉、聚会交友的首选平台。 为主办方提供“一…

Kubernetes(K8s)Pod控制器详解-06

Pod控制器详解 Pod控制器介绍 Pod是kubernetes的最小管理单元&#xff0c;在kubernetes中&#xff0c;按照pod的创建方式可以将其分为两类&#xff1a; 自主式pod&#xff1a;kubernetes直接创建出来的Pod&#xff0c;这种pod删除后就没有了&#xff0c;也不会重建 控制器创建…