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

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

一、通信方式,也就是说两台计算机或者单片机收发数据,标准的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中去了,且不会覆盖之前的数据。