arduino学习笔记-3-串口输入
串口输入
Serial.read()
通过串口连接的 Arduino 在交互式设计中能够为 PC 机提供一种全新 的交互方式,比如用 PC 机控制一些之前看来非常复杂的事情,像声音和视频等。很多场合中都要求 Arduino 能够通过串口接收来自于PC 机的命令,并完成相应的功能,这可以通过 Arduino 语言中提供的 Serial.read() 函数来实现。
1 | int ledPin = 13; |
该程序运行起来之后会不断调用 Serial.read()函数从串口获得数据。Arduino 语言提供的这个函数是不阻塞的,也就是说不论串口上是否真的有数据到达,该函数都会立即返回。
Serial.read()函数每次只读取一个字节的数据,当串口上有数据到达的时候,该函数的返回值为到达的数据中第一个字符的 ASCII 码;当串口上没有数据到达的时候,该函数的返回值则为-1。
Serial.available()
函数 Serial.available()的功能是返回串口缓冲区中当前剩余的字符个数,按照 Arduino 提供的该函数的说明,串口缓冲区中最多能缓冲128 个字节。我们可以一次给 Arduino 模块发送多个字符,来验证这 一功能.
1 | int ledPin = 13; |
在这一实验中,每当 Arduino 成功收到一个字符 H,连接在数字 I/O端口管脚 13 上的发光二极管就会闪烁一次。
区别用法
1 | while(Serial.available()>0) |
运行该程序,当串口接收到数据时(Serial.available()>0),反复读取串口数据,并赋值给data(data = Serial.read()),一直到数据读完为止(Serial.available()=0)。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Binhao's Blog!