我有以下的Arduino代碼。如何在Arduino上通過串行獲取輸入字節?
void setup()
{
Serial.begin(9600);
}
void loop()
{
if(Serial.available() > 0)
{
int b=Serial.read();
Serial.println(b);
}
}
如果我打開串口監視器,輸入00000001我得到的輸出
48
48
48
48
48
48
48
49
OK,所以,首先,爲什麼48(最後49行),其次爲什麼這麼多線?
我期待得到'1'的簡單輸出。
如果我將行Serial.println(b);
更改爲Serial.println(00000001,DEC);
,我得到了我期望的(即'1')。但是,如果我將該行更改爲Serial.println(b,DEC);
,則會得到與以前相同的奇怪輸出。
輸入8個字符得到8個結果。最後一個字符是不同的,是1而不是0,最後的結果是不同的,是一個更高的.... Google'ASCII table'。 –
啊,我想我現在明白了。所以當我用Serial.println(00000001,DEC)取代這行時,它計數爲一個字節,而串行監視器將每個數字作爲一個整數? – coolblue2000
如何在串口監視器中模擬串行字節流輸入? – coolblue2000