Arduino串口监视器是配置于Arduino IDE内部的一个工具,主要作用是监视和调试Arduino和计算机之间的串口通讯,具体是将Arduino发送/接收的数据显示出来,必要时能手动写入数据。
当Arduino输出数据时,已知串口通信是遵循一定的协议的,那么输出的这些信号/数据也会有相应的格式,如下图所示:
以下是几个常用参数:
1、起始位:总是低电平,是一组数据帧开始的信号
2、数据位:一般为8位,指定传输的数据位数;
3、 停止位:一般为1位,总是高电平,指定传输结束的位置;
4、校验位:用于在传输过程中检查数据是否正确,一般可选择无校验(Arduino默认)、奇偶校验、偶校验、和校验、空格校验等;
以上4个参数组成(如图所示)在数据传输过程中的一个单位,称为数据帧,也是数据传输的格式。
当然除此之外,串口监视器还有别的参数如:波特率------用于指定数据传输的速率。(详情不再介绍)
实现串口通讯的方法:用户在Arduino程序中直接调用Serial
1、Serial.begin(speed,config)(下文将省略“Serial.”)
speed:设置波特率;
config:设置数据位、停止位、校验位;
2、end()
功能:结束串口通信,并释放串口所在的数字引脚;
3、available()
功能:返回串口接收缓冲区的字节数;
4、print(val,format)
功能:将数据以ASCⅡ码的形式输出到串口;返回输出的字节数;
val:需要输出的任意类型数据;
format:输出数据的格式;
5、println(val,format)
同理print(),区别在于数据输出到串口后会回车换行;
6、read()
功能:一个字节地读取串口数据,读完后删除已读数据;
返回值:返回串口缓存区第一个可读字节,无可读字节时返回-1;
7、readBytes(buffer,length)
buffer:用于存储数据的数组(char[] / byte[]);
length:指定读取的字节长度;
功能:读取一段长度的字节,并存入一个数组当中,超过规定的相应时间则退出该函数;
返回值: 返回读到的字节数,若无则返回0;
8、peek()
功能:与read相同,但不会从缓冲区中删除已读数据;
9、write()
(val):发送的数据;
(str):发送字符串型的数据;
(buf,len):数组型的数据及需要的长度;
功能: 以字节形式将数据输出到串口;
返回值:返回输出的字节数;