Feedback
Feedback

If you are having issues with the exercises, please create a ticket on DevZone: devzone.nordicsemi.com
Drag & Drop Files, Choose Files to Upload 您最多可以上传 2 个文件。
  • 简体中文
    Eng
    简体中文
  • UART 协议

    UART 是一种点对点 (P2P) 硬件通信协议,其中一端可以是 MCU(微控制器),另一端可以是另一个 MCU、传感器或 PC(通过 USB 转 UART 转换器)。

    注意

    所有 Nordic 开发板都集成了 USB 转 UART 转换器,以便与 PC 进行串行通信。

    数据传输以串行方式进行。它以起始位开始,通常通过将逻辑电平拉低一个时钟周期来实现。在接下来的 n 个时钟周期内,n 位数据从发送端按顺序发送(n 通常为 8)。可选地,可以添加 1 个奇偶校验位以提高传输可靠性。最后,数据线通常被拉高以表示传输结束。

    定义

    奇偶校验位: 奇偶校验位描述了数据的奇偶性,是接收方判断数据在传输过程中是否发生变化的一种方式。

    UART 时序图
    来源:维基百科

    UART 有一个用于发送数据的连接引脚(通常称为 TX)和另一个用于接收数据的引脚(称为 RX)。这些连接在发送器和接收器之间交叉耦合。因此,一台设备上的 TX 连接到远程设备上的 RX,反之亦然。GND 代表地线。

    UART 连接

    RX 引脚感应起始位何时启动,并自动同步时钟以存储新字。接收器和发送器运行的数据速率必须预先选择;这被称为波特率。UART 常用的波特率值为 115200 或 9600 bits/s,或称波特。

    UART 硬件流控制

    UART 硬件流控制是一种技术,使具有不同处理速度的设备能够通过 UART 连接可靠地通信,而不会丢失数据。

    例如,当设备 A 向设备 B 发送连续的字节流,而设备 B 的运行速度慢于设备 A 时。在这种情况下,设备 B 可以向设备 A 发出信号以暂时暂停传输,从而为自己争取处理已接收数据的时间并释放接收缓冲区。流控制通过提供额外的信号来指示设备 A 根据需要暂停或恢复数据传输,从而使这成为可能。这些额外的信号被称为 RTS(请求发送)和 CTS(清除发送)。

    带硬件流控制的 UART 连接

    这些信号在两个设备之间互连,其中一个设备上的 RTS 连接到另一个设备上的 CTS,反之亦然。每个设备写入其 RTS 以指示已准备好接收新数据,同时读取 CTS 以确定是否可以向对方设备发送数据。只要设备准备好接受额外数据,它就会保持 RTS 线路处于有效状态,并在其接收缓冲区达到容量之前不久将 RTS 置为无效。硬件流控制在两个方向上运行,这意味着每个设备(设备 A 或设备 B)都可以发出暂停传输的信号。

    Nordic SoC 上的 UART 外设支持自动硬件流控制,这在每个 SoC 的数据手册(产品规范)中有详细说明。请参阅外设 -> UART -> 发送与接收章节。

    Switch language?

    Progress is tracked separately for each language. Switching will continue from your progress in that language or start fresh if you haven't begun.

    Your current progress is saved, and you can switch back anytime.

    Register an account
    Already have an account? Log in
    (All fields are required unless specified optional)

    • 8 or more characters
    • Upper and lower case letters
    • At least one number or special character

    Forgot your password?
    Enter the email associated with your account, and we will send you a link to reset your password.