URAT串口通信协议
UART是异步串行全双工总线,面向设备和设备之间的连接
配置相关内容
1、串口为串行通讯方式,代表一个时钟周期,只可以收发一位数据
2、115200代表什么,以及115200单位 单位:bps(比特率、二进制/秒)
115200代表:1S钟可以传输115200bits数据
115200倒数代表:表示收发1位数据所需要的时间
3、8N1代表什么
8:8位数据位
N:无奇偶校验位
1:1位停止位
协议
1、空闲态
空闲态处于高电平状态,总线没有进行数据传输时,总线处于空闲状态
2、起始信号
串口通信开始的标志,起始信号处于低电平状态
3、数据位
串口完成数据的收发,数据位可以设置为7位/8位/9位
4、校验位
奇校验:数据位和校验位1的个数为奇数
假设发送的数据为0x55(01010101),校验位:1
假设发送的数据为0x51(01010001),校验位:0
偶校验:数据位和校验位1的个数为偶数
假设发送的数据为0x55,校验位:0
假设发送的数据为0x51,校验位:1
5、停止位
1)发送数据结束的标志,停止位处于高电平状态
2)校准时钟源,因为串口采用的是异步通讯,双方都有自己独立的时钟源
但是在实际的数据传输过程中,一帧数据传输完成之后,肯定会存在误差
越往后,误差越大,导致收发数据不准确
框图
通过以上框图分析可知,需要分析芯片手册RCC/GPIO/UART章节
1、RCC章节:使能GPIOG/GPIOB/UART4组控制器
2、GPIO章节:1)设置复用功能模式 2)设置复用功能为串口功能
3、UART章节:1)初始化(115200.8N1) 2)完成数据收发
1、RCC章节
使能GPIOG/GPIOB/UART4组控制器
查看相关手册,找到对应的总线和对应的寄存器
1、确定RCC控制器通过哪根总线与cortex-A7进行连接 ===> AHB4总线
2、确定GPIO控制器通过哪根总线与cortex-A7进行连接 ===> AHB4总线
3、确定UART控制器通过哪根总线与cortex-A7核进行连接 ===> APB1总线
2、GPIO章节:
1)设置复用功能模式
2)设置复用功能为串口功能
3、UART章节:
内部框图
1)初始化(115200.8N1)
2)完成数据收发