目录
1.不同通信协议
双工就是既可以从A到B,也可以从B到A ,全双工就是有两根数据线可以同时实现从A到B和从B到A。
异步就是没有时钟线,需要通信双方有相同波特率。
电平:单端则是与地比较,这种电平模式通常通讯双方需要接同一根地线。差分则是两根线相比较。
2.USART
3.串口参数及时序
波特率:串口通信的速率 每秒传输码元的个数 码元/s 二进制中波特率等于比特率
起始位:标志一个数据帧的开始,固定为低电平
数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行
校验位:用于数据验证,根据数据位计算得来 奇校验(奇数个1)偶校验 也可以用CRC校验
停止位:用于数据帧间隔,固定为高电平
4.
5.USART框图
TDR和RDR共用一个数据寄存器DR,发送数据和接收数据都是低位先行。
发送数据时,当往TR写入数据时,硬件会自动检查发送移位寄存器是否有数据正在移位,如果没有,数据会立刻全部发送到移位寄存器(自动的),准备发送,当数据从TDR移动到移位寄存器时,会置一个标志位TXE,我们检查这个标志位,如果置1了,就可以在TDR写入下一个数据了。
接收数据时,当接受移位寄存器在接收器控制的作用下接收完数据,会一下子把数据从接受移位寄存器转到RDR,此时会置RXNE为1,当检测到RXNE为1时,就可以把数据读走了。
硬件数据流控
nRTS (Request to send ) nCTS (Clear To Send) n代表低电平有效 nRTS接到对方nCTS
唤醒单元 实现多设备通信
可以在USRAT给串口分配地址,当发送指定地址时,该串口唤醒,开始工作
波特率发生器 相当于一个分频器
fplck1=36MHz ,fplck2=72MHz TE(TX Enable)为1,发送器使能发送部分的波特率就有效。
6.数据帧
9位一般都会设置成奇偶校验位,8位最好不校验
空闲帧和断开帧是局域网协议用的
7.起始位侦测
当侦测到下降沿说明到起始位了,在起始位会进行连续16次采样,电路会在接收下降沿后的第3、5、7、8、9、10次进行采样,每三位至少有两个零,如果每三位检测到一个1,会在NE置1,如果检测到两个1,则系统会认为前面下降沿是噪声,变成空闲状态。
8.数据采样
证明起始位后,接受数据时就会在8、9、10次进行采样,可以保证采样位置在最中间。(起始位侦测对齐了采样时钟)
8 9 10 全为1则为1 ,全为0则为0,如果不全为则按2:1规则,并且置1NE位。
9.波特率发生器
复用推挽输出 AF_PP : Alternaltive Function push pull
Ctrl+Alt+空格 可以联想代码