AVR UART/串行通信

2024 年 9 月 27 日 | 2 分钟阅读

在AVR微控制器中,以下寄存器集用于通过UART进行通信

  • UCSRA: 在此寄存器中,标志用于在数据传输期间可能发生的各种错误。例如,帧错误、奇偶校验错误等。
  • UCSRC: 在此寄存器中,我们可以设置停止位、奇偶校验模式等。
  • UCSRB: 在此寄存器中,我们提供了许多使能位。例如,用于发送和接收使能位的不同中断使能位。
  • UBRRH & UBRRL: 在UBRRL寄存器中,低字节用于存储所需的波特率,而在UBRRH寄存器中,高字节用于存储所需的波特率。

有关上述寄存器的更多信息,请参见您正在使用的AVR微控制器的数据表。

下面给出了汇编语言中串行通信寄存器的初始化

下面给出了嵌入式C语言中串行通信寄存器的初始化

为了串行发送数据,我们需要将要发送的数据放入8位UART数据寄存器(UDR)中,并轮询设置条件下的空发送缓冲区。当从接收标志接收数据时,当设置该标志时,从UDR寄存器接收数据。下面给出了一个在汇编语言中实现此功能的示例

为了串行发送数据,我们需要将要发送的数据放入8位UART数据寄存器(UDR)中,并轮询设置条件下的空发送缓冲区。当从接收标志接收数据时,当设置该标志时,从UDR寄存器接收数据。下面给出了一个在嵌入式C语言中实现此功能的示例