PRJ - Write Vs Print#
2024-05-29
/*
Serial write vs print
- write(val) 会将 val 值对应的 ascii 码表中的编码符号打印出来;
- print(val) 会将 val 打印结果的形式仍然是 val。
例如:
write(45), 在串口助手中得到 "-" (负号);
print(45),显示 45。 这说明 print(45),先将一字节的内部值 45 转成了 "45" 两个字节的字符串,再显示出来。
----------------
问题: 我们在用串口发送数据时,应该用 write, 还是 print?
好像这个问题取决于接收方接下来要做的处理。
如果接收方接下来是印口打印和显示,用 Serial.print。
如果是将数据通过串口发送给其它 arduino,那么用 write 似乎会节省一半的发送量。但是,很少有应用只发送非结构化的数据,而是发送更易解析的字符串,所以,用 print 是否会更普遍?
*/
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
delay(2000);
// write 方法
Serial.print("\n1. write:");
Serial.write((int)45);
// print 方法
Serial.print("\n2. print:");
Serial.print(45);
// more print
Serial.println(123.45);
}
void loop() {
// put your main code here, to run repeatedly:
}