1 基本概念

复习基本概念:同步、异步、全双工、半双工和单工。

1.1 同步 (Synchronous) 和 异步 (Asynchronous)

同步和异步是通信时钟同步的两种不同方式:

  • 同步通信:数据传输是通过共享时钟信号来协调的,发送方和接收方必须以相同的速率和时序工作。在同步模式下,数据位在固定的时钟周期内传输,发送和接收设备使用同一个时钟信号来同步数据交换。

    • STM32中的同步通信:如USART、SPI等接口都支持同步模式。例如,在SPI模式下,主设备和从设备之间共享一个时钟信号(SCK),确保数据传输的同步进行。
  • 异步通信:数据传输不依赖于共享的时钟信号。数据的发送和接收是根据预先设定的波特率和时序来进行的。接收设备必须根据发送方的数据流的时间间隔来恢复时序。

    • STM32中的异步通信:USART接口支持异步模式。在异步模式下,发送和接收设备之间无需共享时钟信号,只需要设置相同的波特率,确保数据以正确的时间间隔传输。

1.2 全双工 (Full-Duplex) 和 半双工 (Half-Duplex)

全双工和半双工描述了通信通道中数据传输的方向性和同时性。

  • 全双工通信:通信双方可以在同一时刻同时发送和接收数据。全双工需要两个独立的通道或至少能够同时处理输入和输出的机制。

    • STM32中的全双工通信:USART、SPI和I2C都可以支持全双工通信。例如,USART的全双工模式允许在同一时刻进行发送和接收数据。SPI协议也是全双工的,它使用两个数据线:MOSI(主设备输出从设备输入)和MISO(主设备输入从设备输出),允许数据同时在两个方向上传输。
  • 半双工通信:通信双方不能同时发送和接收数据,而是交替进行。换句话说,设备在发送数据时,另一个设备只能接收,反之亦然。

    • STM32中的半双工通信:例如,USART可以在半双工模式下工作,通常用于对讲机或某些远程控制设备等需要轮流传输的情况。在这种模式下,传输线的方向在发送和接收之间进行切换。

1.3 单工 (Simplex)

  • 单工通信是最简单的通信方式,它只允许数据在一个方向上传输。一个设备只能发送数据,另一个设备只能接收数据。没有数据返回的机制。

    • STM32中的单工通信:在一些简单的应用中,STM32可以配置为单工模式。例如,某些传感器只发送数据而不接收反馈,在这种情况下,STM32作为接收端只接收数据,形成单向的数据流。

1.4 STM32中这些通信方式的应用

在STM32微控制器中,常见的通信接口,如USART、SPI和I2C,都会根据不同的工作模式提供同步、异步、全双工、半双工等不同的通信方式。

USART

  • 支持同步模式和异步模式。

  • 支持全双工和半双工模式。在全双工模式下,它可以同时发送和接收数据,而在半双工模式下,数据传输是交替的。

SPI

  • 是同步的通信协议,使用共享时钟线来同步数据传输。

  • 它支持全双工通信,即数据可以同时从主设备传输到从设备,也可以从从设备传输到主设备。

I2C

  • 是同步的通信协议,但它是半双工的,因为数据在总线上是通过主设备控制传输的,只能在任意时刻由一个设备发送数据。

2 波特率

  • 波特率(bps)是指:每秒传输多少位。

    • 9600波特率,表示每秒传输1200(9600/8)个字节,每位理论用时104us

    • 38400波特率,表示每秒传输4800个字节,每位理论用时26us

    • 115200波特率,表示每秒传输14400个字节,每位理论用时8.68us

注意:

  • 中断函数执行过程中,不能使用延时,因为延时函数也是通过中断进行计数的。

  • 如果使能串口空闲中断,如果不清除串口空闲中断标记,会一直触发空闲中断处理函数。

  • STM32空闲中断的极限时间大约为2字节的时间,既超过2字节的传输时间,则会出现空闲中断,这2字节大约多少时间,根据波特率设定有关。这个空闲中断极限时间无法软件设定。

3

alt text

alt text

参考

参考1:STM32学习笔记—–什么是同步/异步/全双工/半双工/单工?

https://blog.csdn.net/2401_84769586/article/details/144307158

https://zhuanlan.zhihu.com/p/18506959446

https://www.cnblogs.com/mokongking/p/18632353

https://download.csdn.net/blog/column/9071196/103474643

https://blog.csdn.net/qq_44758496/article/details/132206223