Можно ли запустить/остановить код с последовательного монитора?
Нажатие и номер в последовательном мониторе для запуска кода и кода остановки.
@rallen24, 👍-1
Обсуждение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
}
}
,
@Jeremy Fox
код запускается постоянно после ввода команды или запускается только один раз?, @rallen24
Он работает непрерывно., @Jeremy Fox
Смотрите также:
- Как разделить входящую строку?
- Как использовать SPI на Arduino?
- Как сбросить или отформатировать Arduino?
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Arduino Due vs Mega 2560
- Как получить уникальный идентификатор для всех плат Arduino?
- Почему я получаю avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?
- Тайм-аут связи Arduino Mega с ошибкой программатора
Я рад, что вы получили удовлетворительный ответ, но обратите внимание, что такие вопросы, как ваш, часто быстро закрываются и удаляются как некачественные. Надеюсь, в следующий раз ты справишься лучше., @Dmitry Grigoryev
@DmitryGrigoryev о и ак, @rallen24