• 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)完成数据收发

     

  • 相关阅读:
    python 如何判断一组数呈上升还是下降趋势
    Version Dependency
    关于CSDN右上角的消息数显示
    Rust插件连接失败
    【python基础】编写/运行hello world项目
    chatgpt的插件功能下架了吗?
    如何设计一套单点登录系统 ?
    如何压缩图片的大小?这两个方法了解过吗
    解决kubernetes集群证书过期的问题
    Kotlin 数据类型详解:数字、字符、布尔值与类型转换指南
  • 原文地址:https://blog.csdn.net/weixin_53762703/article/details/134489320