pizg 发表于 2013-4-19 19:26:48

有關SerialEvent的問題?

這個網頁 http://arduino.cc/en/Tutorial/SerialEvent
依照下面的範例做, 在Serial Monitor內隨意輸入一些文字, 為什麼沒有任何顯示?
String inputString = "";         // a string to hold incoming data
boolean stringComplete = false;// whether the string is complete

void setup() {
// initialize serial:
Serial.begin(9600);
// reserve 200 bytes for the inputString:
inputString.reserve(200);
}

void loop() {
// print the string when a newline arrives:
if (stringComplete) {
    Serial.println(inputString);
    // clear the string:
    inputString = "";
    stringComplete = false;
}
}

/*
SerialEvent occurs whenever a new data comes in the
hardware serial RX.This routine is run between each
time loop() runs, so using delay inside loop can delay
response.Multiple bytes of data may be available.
*/
void serialEvent() {
while (Serial.available()) {
    // get the new byte:
    char inChar = (char)Serial.read();
    // add it to the inputString:
    inputString += inChar;
    // if the incoming character is a newline, set a flag
    // so the main loop can do something about it:
    if (inChar == '\n') {
      stringComplete = true;
    }
}
}
页: [1]
查看完整版本: 有關SerialEvent的問題?