📜  Arduino串行| Serial.begin()

📅  最后修改于: 2020-12-27 03:10:59             🧑  作者: Mango

Arduino串行| Serial.begin()

串行通讯

串行通信是一种使用微控制器上的UART (通用异步接收器/发送器)的简单方案。它用,

  • 逻辑1为5V(高)
  • 逻辑0的0V(低)

对于3.3V板,它使用

  • 逻辑1为3V(高)
  • 逻辑0的0V(低)

UART上发送的每个消息均采用8位或1字节的形式,其中1字节= 8位。

从Arduino发送到计算机的消息是从Arduino板的PIN 1(称为Tx(发送器))发送的。从计算机发送到Arduino的消息是通过PIN 0接收的,称为RX ( Receiver )。

Arduino UNO板上的这两个引脚如下图所示:

当我们在代码中初始化用于串行通信的引脚时,我们不能将这两个引脚(Rx和Tx)用于任何目的。 Tx和Rx引脚也直接连接到计算机。

引脚连接到串行Tx和Rx芯片,该芯片充当串行微控制器对话的媒介。

板上的芯片如下图所示:

该对象可以包括任意数量的数据成员(信息)和成员函数(以调用操作)。

Serial.begin()是Arduino中串行对象的一部分。它告诉串行对象执行初始化步骤以在Rx和Tx(引脚1和0)上发送和接收数据。

让我们详细讨论Serial.begin()。

Arduino Mega具有四个串行端口。以下列出了Mega板上的Tx引脚:

  • 1(TX)
  • 18(TX)
  • 16(TX)
  • 14(TX)

Mega端口上的Rx引脚如下所示:

  • 0(接收)
  • 19(接收)
  • 17(接收)
  • 15(接收)

与Tx和Rx引脚的通信会引起干扰,并且无法成功上传到特定的板卡。

如果我们需要串行端口进行通信,则需要使用USB转串行适配器。它是一个微型USB连接器,可将USB连接转换为串行RX和TX。我们可以将适配器直接连接到板上。

USB转串行适配器上共有五个引脚,包括RX,TX,复位按钮和GND(接地)。

Serial.begin()

serial.begin()设置串行数据通信的波特率波特率表示每秒的数据速率。

Arduino中的默认波特率是9600 bps(位/秒)。我们还可以指定其他波特率,例如4800、14400、38400、28800等。

Serial.begin()以两种格式声明,如下所示:

  • 开始(速度)
  • 开始(速度,配置)

哪里,

serial :表示串行端口对象。

速度:表示波特率或bps(比特/秒)速率。它允许数据类型。

config :它设置停止位,奇偶校验位和数据位。

范例1:

void setup ( )
{
Serial.begin(4800); 
}
void loop ( )
{
}

serial.begin(4800)打开串行端口,并将每个速率的位数设置为4800。Arduino中的消息与串行监视器以每秒4800位的速率交换。

让我们考虑另一个例子。

范例2:

如下图所示: