zoukankan      html  css  js  c++  java
  • 计算机系统的通信自己理解版本

    周六整理周三讲的东西,内心很崩溃呜呜呜,笔记还不在身边!

    首先自己回忆一下吧,看看自己记住的符不符合那个遗忘曲线:

    一、通信方式,也就是说两台计算机或者单片机收发数据,标准的ASCII码是0-127,用7位就可以表示出来,除此之外128-255是扩展的ASCII码。也就说两台单片机靠发送一串串由二进制代表的ASCII码就可以完成通信。

    二、在通信的过程中,需要解决的最大问题——时间的问题,接受的计算机怎么知道这一串数码,哪一部分是第一个字符,哪一部分是第二个字符?解决方法有两种:一种是同步{?},也就是一台单片机在发送数据的时候,将时间也通过一根线发送过去;第二种是异步{?},不需要传时间,只给标志位:数据发送结束和空闲阶段是高电平,开始发送数据是低电平。

    三、一般中间发送8帧,或者9帧,验证码也算在其中,再加上开始和终止的2位,传送一个字符一共需要10位。

    四、关于波特率:波特率也就是一秒钟内收发数据的比特数bps。

    五、一般总线时钟,但需要把总线时钟分频成收发器内部时钟,再把收发器内部时钟除以8、12、16之后变成位时钟(也就是波特率)。内部时钟的存在是很有理由的,USART(通用同步/异步收发器)需要用更高的频率对来的高低电平进行检测,来判断此时的状态,是高低跳变?还是高电平?

    六、关于USART内部的电路和关键寄存器

    关键部分是上面的灰色方框里的4个寄存器。

    七、TXE标志位:刚开始的时候是1,表示可以开始写入数据。在USART_DR寄存器中写入要发送的数据后自动清除TXE位,数据已经由TDR传送到移位寄存器&&发送数据已经开始&&DR寄存器是空的时,TXE寄存器就会变成1,表示下一个数据可以写入TXE中去了,且不会覆盖之前的数据。

  • 相关阅读:
    如何学习一门新技术
    linux atoi
    linux switch 跳转到 ”跳转至 case 标号“ 的错误
    from unittest import TestCase
    ensure that both new and old access_token values are available within five minutes, so that third-party services are smoothly transitioned.
    .BigInteger
    408
    Convert a string into an ArrayBuffer
    Optimal asymmetric encryption padding 最优非对称加密填充(OAEP)
    https://tools.ietf.org/html/rfc8017
  • 原文地址:https://www.cnblogs.com/dadidelearning/p/9973302.html
Copyright © 2011-2022 走看看