CH592 UART收发数据 FIFO THR TSR

在数据发送过程中,FIFO(First In, First Out)缓冲区起着重要的作用,主要用于缓冲待发送的数据,以提高数据传输的效率和稳定性。以下是 FIFO 在数据发送过程中的具体作用:

FIFO 的作用

  1. 缓冲数据

    • FIFO 缓冲区可以存储多个待发送的数据字节,避免 CPU 每发送一个字节都要等待上一个字节发送完毕。这样,CPU 可以一次性将多个字节写入 FIFO 缓冲区,提高了数据传输的效率。
  2. 减少中断频率

    • 由于 FIFO 可以存储多个字节,发送过程中可以减少中断频率。CPU 只需要在 FIFO 快满或空时处理中断,从而减少了处理中断的负担,提高了系统性能。
  3. 数据流的平滑处理

    • FIFO 确保数据按照先入先出的顺序发送,使数据传输更加平滑和稳定,避免数据丢失或传输顺序错误。

数据发送过程中的 FIFO 作用

  1. 数据写入 FIFO

    • CPU 将待发送的数据一次性写入 FIFO 缓冲区。如果 FIFO 被使能,可以一次写入多达 8 个字节(以 CH592 为例)。
  2. FIFO 到 THR(Transmit Holding Register)

    • 当发送保持寄存器(THR)空时,FIFO 会自动将一个字节的数据移到 THR。
  3. THR 到 TSR(Transmit Shift Register)

    • THR 中的数据会自动转移到发送移位寄存器(TSR),然后由 TSR 逐位发送到串行端口。
  4. 重复过程

    • 当 TSR 发送完一个字节的数据后,FIFO 会继续填充 THR,重复上述过程,直到 FIFO 中没有数据。

实例说明(CH592/CH591)

  • THR(Transmit Holding Register):用于接收待发送的数据。
  • TSR(Transmit Shift Register):将数据逐位发送到串行端口。
  • FIFO(First In, First Out):用于存储多个待发送的数据字节,缓冲数据流,减少中断频率,提高数据传输效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值