Можно ли запустить/остановить код с последовательного монитора?

Нажатие и номер в последовательном мониторе для запуска кода и кода остановки.

, 👍-1

Обсуждение

Я рад, что вы получили удовлетворительный ответ, но обратите внимание, что такие вопросы, как ваш, часто быстро закрываются и удаляются как некачественные. Надеюсь, в следующий раз ты справишься лучше., @Dmitry Grigoryev

@DmitryGrigoryev о и ак, @rallen24


1 ответ


Лучший ответ:

1

Это можно сделать с помощью команды Serial.read(), как указано в документации Arduino здесь.

Ниже приведен пример того, как это можно применить.


/**
 * NAME: Serial interupt
 * DATE: 18/7/19
 * AUTHOR: Jeremy Fox
 * DESCRIPTION:
 *    FLashes LED until recives enter keystroke from serial monitor.
 */
int incomingByte = 0; // for incoming serial data
int LED = 13; // defines the LED to flash
boolean flash = true; // for flashing loop

void setup() {
  pinMode(LED, OUTPUT);
  Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}

void loop() {
  while (flash == true){
    // flash LED
    digitalWrite(LED, HIGH);
    delay(100);
    digitalWrite(LED, LOW);
    delay(100);
  }

  // record data if available:
  if (Serial.available() > 0) {
    // read the incoming byte:
    incomingByte = Serial.read();   
  }

  // checks if enter key was pressed: 
  if (incomingByte == 13) {
    flash = true; // enter loop
    incomingByte = 1; // reset incomingByte to avoid feedback loop
  }
}

,

код запускается постоянно после ввода команды или запускается только один раз?, @rallen24

Он работает непрерывно., @Jeremy Fox