Arduino通訊篇系列之print()和write()輸出方式的差別

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

相關文章
相關標籤/搜索