咱们都知道,在HardwareSerial类中有print()和write()两种输出方式,函数
两个均可以输出数据,但其输出方式并不相同。oop
例子:ui
float FLOAT=1.23456;it
int INT=124;float
byte BYTE[6]={48,49,50,51,52,53};数据
void setup()loop
{字符
Serial.begin(9600);void
Serial.println(INT);
Serial.println(INT,HEX);
Serial.println(FLOAT);
Serial.println(FLOAT,2);
Serial.write(INT);
Serial.println();
Serial.write("Serial");
Serial.println();
Serial.write(BYTE,6);
}
void loop
{
}
结果:
123
1111011
1.23
1.23
{
Serial
012345
比较:
当使用print()发送一个数据时,Arduino发送的并非数据自己,而是
将数据转换成字符,再将对应的ASCLL码发送出去,串口监视器接收到
ASCLL码,则会显示对应的字符。所以,使用print()函数是以ASCLL
码的形式输出数据到串口。
而当使用write()函数时,Arduino发送的是数值自己。可是串口监视器接收
到数据后,会将数值当作ASCLL码而显示其对应的字符。
总而言之,print是转换成ASCLL码才能发出去,就至关于中间介质。
而write是直接发送数据,不须要中间介质。