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

学习嵌入式第四十六天

文章目录

  • UART
    • 1.概念
    • 2.通信方式
    • 3.数据传输
      • 1.数据传输顺序
      • 2.数据传输形式
      • 3.串行并行的区别
      • 4.串口通信时序
    • 4.奇偶校验
    • 5.串口通信参数
    • 6.串口寄存器配置
    • 7.主从应答
    • 7.主从应答

UART

1.概念

  • UART:Universal Asynchronous Receiver Transmitter,通用异步收发器, 51单片机拥有两个串口,一个被用于ISP下载程序,另一个被用于和主机之间的通信(全双工串行异步)

2.通信方式

  • 单工:发送发和接收方固定,数据只能从发送方发给接收方,通过一根信号线实现,因此传输方向呈现单一性
  • 半双工:通信双方既可以作为发送方也可以作为接收方,通过一根信号线实现,传输方向可以是双向的,但同一时刻传输方向呈现单一性
  • 全双工(UART):通信双方既可以作为发送方也可以作为接收方,通过两根信号线实现,传输方向在任意时刻都是双向的

3.数据传输

1.数据传输顺序

  • UART在数据传输时,遵循LSB优先原则(低位先传)

2.数据传输形式

  • 串行:通过一根信号线传输数据,按照先后次序逐个bit发送数据
  • 并行:同时多根信号线同时传输数据

3.串行并行的区别

  • 串行:传输速率慢,硬件成本低,实现简单,传输距离远,抗干扰性好(RS485)
  • 并行:传输速率快,硬件成本高,实现复杂,传输距离近,抗干扰性差

4.串口通信时序

  1. 串口通信时,空闲时为高电平
  2. 当由高电平变为低电平,代表发送一个起始位,准备开始通信
  3. 发送数据
  4. 再发送一个bit的校验位(奇偶校验)
  5. 再发送一个bit的停止位,代表这一次串口通信结束

4.奇偶校验

  • 问题:无法检测偶数个bit出错

  • 奇校验:校验位为“1”,若数据位中的“1”的个数加上校验位“1”的个数保持奇数个,代表校验通过

  • 偶校验:校验位为“0”,若数据位中的“1”的个数加上校验位“0”的个数保持奇数个,代表校验通过

5.串口通信参数

  • 波特率:bps,bit per second,每秒传输bit的数量,常见波特率:2400,4800,9600,115200
  • 数据位:8,串口传输通常8bit数据位传输
  • 停止位:1,1bit停止位
  • 校验位:
    • None,N,无校验
    • Even,E,偶校验
    • Odd,O,奇校验

6.串口寄存器配置

  1. SCON/PCON串口控制寄存器

    PCON寄存器中的bit6置0代表通过SCON寄存器中的SM0和SM1两位指定串口工作方式

    • 将SCON寄存器中的bit6和bit7清0
    • 将SCON寄存器中的SM1(bit6)置1,SM0(bit7)清0,代表串口工作在8位UART模式
    • 将SCON寄存器中的REN(bit4)置1,代表允许串口接收数据
    • SCON寄存器中的T1(bit1)位,代表串口8位数据发送完毕硬件自动置1,但需软件清0
    • SCON寄存器中的R1(bit0)位,代表串口8位数据发送完毕硬件自动置1,但需软件清0
    • PCON寄存器SMOD(bit7)置1,代表波特率加倍
  2. 定时器相关配置

    TMOD定时器模式选择寄存器

    • 将TMOD寄存器中的高四位清0(定时器1)
    • 将TMOD寄存器中的bit5置1,bit4清0,代表定时器1工作在8位自动重装载模式
    • 将定时器初值写入TH1和TL1
    • 将TCON寄存器中的bit6置1,代表允许定时器1开始计数
  3. 中断寄存器相关配置

    IE中断控制寄存器

    • 将IE寄存器中的EA(bit7)置1,代表CPU能相应所有中断
    • 将IE寄存器中的ES(bit4)置1,代表串口允许中断

7.主从应答

  • 主机:拥有对通信的绝对控制权,通信都是由主机发起
  • 从机:无法直接发起通信,只能根据主机下发的指令完成对应操作

代表串口允许中断

7.主从应答

  • 主机:拥有对通信的绝对控制权,通信都是由主机发起
  • 从机:无法直接发起通信,只能根据主机下发的指令完成对应操作

文章转载自:

http://45gWRwCa.Lttcm.cn
http://VNEGWU8k.Lttcm.cn
http://IW5TRR9w.Lttcm.cn
http://IjOZ9BWk.Lttcm.cn
http://eJxu7aeE.Lttcm.cn
http://tUz82X6G.Lttcm.cn
http://nZIMPTqr.Lttcm.cn
http://r4teN3yH.Lttcm.cn
http://UyNyMCbZ.Lttcm.cn
http://8uouwd3u.Lttcm.cn
http://vfWQSiZp.Lttcm.cn
http://pSoUeo41.Lttcm.cn
http://e76p2uKa.Lttcm.cn
http://cQkBJQF5.Lttcm.cn
http://RPGmIij0.Lttcm.cn
http://aUBbxDpa.Lttcm.cn
http://n4mK8axC.Lttcm.cn
http://58gWuZeN.Lttcm.cn
http://ICwGtAJT.Lttcm.cn
http://QnNtrFFn.Lttcm.cn
http://BPzig9uB.Lttcm.cn
http://CVMhZhU9.Lttcm.cn
http://hABeJT4K.Lttcm.cn
http://rXXgO7PK.Lttcm.cn
http://guVb5Jbn.Lttcm.cn
http://1PrGupSI.Lttcm.cn
http://yz25evNI.Lttcm.cn
http://6uiz1BgZ.Lttcm.cn
http://MC8IWo1O.Lttcm.cn
http://NGDcVNBQ.Lttcm.cn
http://www.dtcms.com/a/367477.html

相关文章:

  • redis的hash表如何扩容
  • 单片机和PLC有哪些区别?揭秘单片机MCU的常见应用
  • 基于STM32的智能家居语音控制系统设计
  • 操作系统-进程通信
  • IPV6之DHCPv6服务器和中继代理和前缀代理服务器客户端
  • Fiddler断点应用和弱网测试
  • 【C语言】 第三课 函数与栈帧机制详解
  • 2026届IC秋招联芸科技IC面经(完整面试题)
  • 【数学建模学习笔记】机器学习回归:随机森林回归
  • UE4 UAT 的六大流程 build cook stage pacakge archive deploy 与UAT的参数
  • 具身智能多模态感知与场景理解:多模态3D场景理解
  • 3D 可视化数字孪生运维管理平台:构建 “虚实协同” 的智慧运维新范式
  • 解决前端文件下载时文件名自定义的完美方案
  • 第22节:性能监控与内存管理——构建高性能3D应用
  • 为什么ApiFox的分页查询的返回Vo的数据没有全部展示? 只展示了返回有数据的?没有数据的为什么不展示?
  • 数智先锋 | 重大活动零错误运行!Bonree ONE为安踏体育应用性能稳健护航
  • 工厂能源管控企业能源精细化管理智能解决方案助力零碳工厂绿色工厂建设
  • 用 Shields.io 定制 README 个性徽章
  • RAGFlow切分方法详解
  • 光伏人解放双手!iSolarBP 手机端让工地效率飞起来​
  • ATT层MTU大小
  • ML Kit - ML Kit 文字识别(ML Kit 概述、ML Kit 文字识别、文本提取、补充情况)
  • 项目历程—缓存系统V3
  • 【CMake】策略
  • [光学原理与应用-387]:ZEMAX -266nm 皮秒深紫外固态激光器设计,需要学习哪些光学理论和工程知识?
  • 【面试题】召回、排序哪个阶段最可能出问题?
  • 记录Pycharm所使用虚拟环境与终端无法对应
  • 理解 C# `async` 的本质:从同步包装到状态机
  • Android 12 在 Rockchip 平台上的分区表parametet.txt 自动生成机制解析
  • android View详解—View的刷新流程源码解析