Serial.print(“Hello world.”)输出为“Hello world.”
也可以自己定义输出为几进制(格式);可以是BIN(二进制,或以2为基数),OCT(八进制,或以8为基数),DEC(十进制,或以10为基数),HEX(十六进制,或以16为基数)。对于浮点型数字,可以指定输出的小数数位。例如 Serial.print(78,BIN)输出为“1001110” Serial.print(78,OCT)输出为“116” Serial.print(78,DEC)输出为“78” Serial.print(78,HEX)输出为“4E” Serial.println(1.23456,0)输出为“1” Serial.println(1.23456,2)输出为“1.23” Serial.println(1.23456,4)输出为“1.2346”
你可以通过基于闪存的字符串来进行打印输出,将数据放入F()中,再放入Serial.print()。例如 Serial.print(F(“Hello world”)) 若要发送一个字节,则使用 Serial.write()
Serial.print(val) Serial.print(val,格式) val:打印输出的值 - 任何数据类型
格式:指定进制(整数数据类型)或小数位数(浮点类型) 例子:
int x = 0; // 定义一个变量并赋值 void setup() {
Serial.begin(9600); // 打开串口传输,并设置波特率为9600 }
void loop() { //打印标签
Serial.print(\); // 打印一个标签 Serial.print(\); // 打印一个转义字符 Serial.print(\); Serial.print(\); Serial.print(\); Serial.print(\); Serial.print(\); Serial.print(\); Serial.print(\); Serial.print(\);
for(x=0; x< 64; x++){ // 打印ASCII码表的一部分, 修改它的格式得到需要的内容
//打印多种格式:
Serial.print(x); // 以十进制格式将x打印输出 - 与 \相同
Serial.print(\); // 横向跳格
Serial.print(x, DEC); // 以十进制格式将x打印输出 Serial.print(\); // 横向跳格
Serial.print(x, HEX); // 以十六进制格式打印输出 Serial.print(\); // 横向跳格
Serial.print(x, OCT); // 以八进制格式打印输出 Serial.print(\); // 横向跳格
Serial.println(x, BIN); // 以二进制格式打印输出
// 然后用 \打印一个回车 delay(200); // 延时200ms }
Serial.println(\); // 打印一个空字符,并自动换行 } println()
打印数据到串行端口,输出人们可识别的ASCII码文本并回车 (ASCII 13, 或 '\\r') 及换行(ASCII 10, 或 '\\n')。此命令采用的形式与Serial.print ()相同 Serial.println(val) Serial.println(val, format) val: 打印的内容 - 任何数据类型都可以
format: 指定基数(整数数据类型)或小数位数(浮点类型) 例子:
int analogValue = 0; // 定义一个变量来保存模拟值 void setup() {
//设置串口波特率为9600 bps: Serial.begin(9600); }
void loop() {
//读取引脚0的模拟输入: analogValue = analogRead(0); //打印g各种格式:
Serial.println(analogValue); //打印ASCII编码的十进制 Serial.println(analogValue, DEC); //打印ASCII编码的十进制 Serial.println(analogValue, HEX); //打印ASCII编码的十六进制 Serial.println(analogValue, OCT); //打印ASCII编码的八进制 Serial.println(analogValue, BIN); //打印一个ASCII编码的二进制 // 延时10毫秒: delay(10); } read()
读取传入的串口的数据。read() 继承自 Stream 类 serial.read() Arduino Mega独有: erial1.read() serial2.read() serial3.read()
例子:
int incomingByte = 0; // 传入的串行数据 void setup() {
Serial.begin(9600); // 打开串口,设置数据传输速率9600 }
void loop() {
// 当你接收数据时发送数据 if (Serial.available() > 0) { // 读取传入的数据:
incomingByte = Serial.read(); //打印你得到的:
Serial.print(\); Serial.println(incomingByte, DEC); } } readBytes()
Serial.readBytes()从串口读字符到一个缓冲区。如果预设的长度读取完毕或者时间到了 (参见 Serial.setTimeout()),函数将终止.
Serial.readBytes()返回放置在缓冲区的字符数。返回0意味着没有发现有效的数据。 Serial.readBytes()继承自 Stream 类 Serial.readBytes(buffer, length)
buffer:用来存储字节(char[]或byte[])的缓冲区 length:读取的字节数(int)
readBytesUntil()
Serial.readBytesUntil()将字符从串行缓冲区读取到一个数组。如果检测到终止字符,或预设的读取长度读取完毕,或者时间到了 (参见 Serial.setTimeout())函数将终止。 Serial.readBytesUntil()返回读入数组的字符数。返回0意味着没有发现有效的数据。
Serial.readBytesUntil()继承自 Stream类
Serial.readBytesUntil(character, buffer, length) character :要搜索的字符(char)
buffer :缓冲区来存储字节(char[]或byte[]) length:读的字节数(int)
setTimeout()
Serial.setTimeout()设置使用Serial.readBytesUntil() 或Serial.readBytes()时等待串口数据的最大毫秒值. 默认为1000毫秒。 Serial.setTimeout()继承自Stream 类 Serial.setTimeout(time)
time :以毫秒为单位的超时时间(long) write()
写入二级制数据到串口。发送的数据以一个字节或者一系列的字节为单位。如果写入的数字为字符,需使用print()命令进行代替 Serial.write(val) Serial.write(str) Serial.write(buf, len)
Arduino Mega还支持:Serial1,Serial2,Serial3 (替代Serial) val: 以单个字节形式发的值 str: 以一串字节的形式发送的字符串 buf: 以一串字节的形式发送的数组 len: 数组的长度 返回结果: byte
write() 将返回写入的字节数,但是否使用这个数字是可选的
SerialEvent() Stream
USB(仅适用于 Leonardo 和 Due) 键盘 鼠标