咱們都知道,在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是直接發送數據,不須要中間介質。