当前位置: 首页 > ai >正文

嵌入式硬件 - 51单片机3

一、通信方式

1. 单工

1. 发送方和接收方是固定的,数据只能从发送方发给接收方

2. 数据传输是通过一根信号线实现,数据传输的方向是固定的

2. 半双工:I2C

1. 通信双方既可以作为发送方也可以作为接收方

2. 数据传输是通过一根信号线实现,数据传输的方向可以是双向的

3. 同一时刻,数据传输的方向呈现单一性(A给B发的时候,B不能给A发,B只能去接收数据)

3. 全双工:UART

1. 通信双方既可以作为发送方也可以作为接收方

2. 数据传输是通过两根信号线实现,数据传输在任意时刻都是双向的(收发可以同时进行)

二、数据传输

1. 传输顺序

uart在传输数据时,遵循LSB优先原则,先发低位数据

2. 传输形式

1. 串行

        通过一根信号线传输数据,按照先后次序逐个bit逐个bit去发送数据

2. 并行

        多根信号线同时去传输数据

3. 传输区别

1. 串行:(UART)
(1)传输速率慢(只能通过一根线逐个bit去传输)
(2)硬件成本低,实现简单
(3)传输距离远,抗干扰性好

2. 并行:
(1)传输速率快(可以通过多根线同时传输多个bit)
(2)硬件成本高,实现复杂
(3)传输距离近,抗干扰性差

三、串口通信

1. 通信步骤

串口通信时,空闲状态为高电平        =>        当由高电平变为低电平,代表发送了一个起始位,准备开始通信        =>        发送数据(通常是8bit,遵循先发数据低位LSB原则)        =>
再发送一个bit的校验位(奇偶校验)        =>         发送一个bit的停止位,代表这一次串口通信结束

2. 奇偶校验

1. 奇校验

        校验位为'1',数据位中'1'的个数加上校验位中的'1',保持'1'的个数为奇数个,则代表校验通过

2. 偶校验

        校验位为'0',数据位中'1'的个数加上校验位中的'0',保持'1'的个数为偶数个,则代表校验通过

3. 通信参数

1. 波特率

        bps(bit per second),每秒钟传输bit的数量,常见的波特率:2400,4800, 9600,115200

2. 数据位

        8,串口传输通常8bit数据位传输

3. 停止位

        1,1bit停止位

4. 校验位

        None,N,无校验        Even,E,偶校验        Odd,O,奇校验

4. 通信方式

1. 同步

        通信的双方有一根共享的时钟线来约定通信的频率(同步发送数据/接收数据)

2. 异步

        通信双方没有时钟线进行同步,如uart可以通过设置波特率来实现同步(发2400bps  收:2400bps)

5. 寄存器配置

1. 串口寄存器

1. SCON

2. PCON

2. 定时器寄存器

TMOD寄存器

3. 中断寄存器

IE寄存器

6. 功能实现

1. 发送单个字符

2. 发送字符串

3. 发送数组

4. 串口通信实现主从应答

http://www.xdnf.cn/news/19892.html

相关文章:

  • NotePad++下载安装与设置
  • 使用a标签跳转之后,会刷新一次,这个a标签添加的样式就会消失
  • 搞懂IFNULL 和 NULLIF
  • 【C++详解】异常概念、抛出捕获与处理机制全解析
  • 一文读懂数据分类分级:企业安全治理的基石
  • 深入理解Linux进程信号机制
  • 残差神经网络的案例
  • 【面试题】LangChain与LlamaIndex核心概念详解
  • 聚焦GISBox矢量服务:数据管理、数据库连接与框架预览全攻略
  • 分布式电源接入电网进行潮流计算
  • Linux笔记---UDP套接字实战:简易聊天室
  • 服务器不支持node.js16以上版本安装?用Docker轻松部署Node.js 20+环境运行Strapi项目
  • 新规则,新游戏:AI时代下的战略重构与商业实践
  • 安全领域必须关注每年发布一次“最危险的25种软件弱点”清单 —— CWE Top 25(内附2024 CWE Top 25清单详情)
  • Boost搜索引擎 数据清洗与去标签(1)
  • 【OpenHarmony文件管理子系统】文件访问接口mod_fs解析
  • ECMAScript(2)核心语法课件(Node.js/React 环境)
  • uniapp的上拉加载H5和小程序
  • PDF.AI-与你的PDF文档对话
  • C++虚函数虚析构函数纯虚函数的使用说明和理解
  • redisson延迟队列报错Sync methods can‘t be invoked from async_rx_reactive listeners
  • 快速排序算法详解
  • 【mysql】SQL自连接实战:查询温度升高的日期
  • 三维多相机光场扫描:打造元宇宙时代的“数字自我”
  • React学习教程,从入门到精通, React 嵌套组件语法知识点(10)
  • 公司机密视频泄露频发?如何让机密视频只在公司内部播放
  • 数据采集机器人哪家好?2025 年实测推荐:千里聆 RPA 凭什么成企业首选?
  • 机器人智能控制领域技术路线
  • 嵌入式 - 硬件:51单片机(3)uart串口
  • 【Java EE进阶 --- SpringBoot】Spring IoC