📅  最后修改于: 2020-12-27 03:10:59             🧑  作者: Mango
串行通信是一种使用微控制器上的UART (通用异步接收器/发送器)的简单方案。它用,
对于3.3V板,它使用
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引脚:
Mega端口上的Rx引脚如下所示:
与Tx和Rx引脚的通信会引起干扰,并且无法成功上传到特定的板卡。
如果我们需要串行端口进行通信,则需要使用USB转串行适配器。它是一个微型USB连接器,可将USB连接转换为串行RX和TX。我们可以将适配器直接连接到板上。
USB转串行适配器上共有五个引脚,包括RX,TX,复位按钮和GND(接地)。
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:
如下图所示: