在Arduino控制器上,串口都是位于0(RX)和1(TX)的两个引脚,Arduino的USB通过一个转换芯片(通常为ATmega16u2)与这两个引脚连接。要使串口与计算机通信,需要先使用Serial.begin()函数初始化Arduino的串口通信功能,即Serial.begin(speed)。
其中参数speed指串口通信波特率,它是设定串口通信数率的参数。串口通信的双方必须使用同样的波特率方能正常进行通信
1.串口输出
Serial.print()或Serial.println(); //Serial.println()在输出完指定的数据后,再输出一组回车换行符
列:Serial.print(val);
2.串口输入
Serial.read(); //调用该语句,每次返回一字节的数据,返回值为串口读到的数据
在使用串口时,Arduino会在SRAM中开辟一段大小为64B的空间,串口接收到的数据都会被暂时存放在该空间中,称这个存储空间为缓冲区。当调用Serial.read()函数时Arduino就会从缓冲区中取出1B的数据。
通常要使用Serial.available();
实例:输出字符串
String Val = "";
void setup() {
Serial.begin(9600);
}
void loop() {
while(Serial.available()>0)
{
Val += char(Serial.read());
delay(2);
}
if(Val.length()>0)
{
Serial.println(Val);
Val = "";
}
}