Монитор порта Ардуино: команды

Команды для монитора порта Ардуино

Монитор порта Ардуино – это утилита, встроенная в среду программирования Arduino IDE и служит она для связи компьютера с контроллером. С помощью монитора последовательного порта производится отладка прошивки микроконтроллера, получение информации о работе программы и отправка команд к микроконтроллеру по USB. Рассмотрим, как работать с утилитой: выбор скорости обмена информацией, команды в скетче для вывода текста и переменных на Serial Monitor Arduino IDE.

Как включить Serial Monitor Arduino

Утилита состоит из окна, разбитого на три части. В верхней части находится поле ввода, где можно с компьютера отправлять данные в последовательный порт. В центре отображаются данные, полученные из последовательного порта. В нижней части окна — меню настроек. Монитор порта Arduino может работать с одним последовательным портом, чтобы не было ошибки при загрузке скетча и открытии Serial Monitor, необходимо выбрать COM порт на котором определилась плата Arduino UNO.

Для открытия утилиты необходимо нажать на иконку в верхнем правом углу Arduino IDE, использовать комбинацию клавиш Ctrl+Shift+M или выбрать в панели меню: Сервис -> Монитор порта. По умолчанию в Serial Monitor для Ардуино установлена скорость передачи данных 9600 бит в секунду, поэтому во многих скетчах используется такая скорость. Если скорость передачи данных в скетче и в настройках монитора порта будут разные, то вся информация будет отображаться в виде иероглифов.

Как включить монитор порта ардуино: команды, скетч
Как включить монитор порта ардуино: команды, скетч

Прием и отправка текста на монитор порта

    Для работы с утилитой, используют следующие команды:

  • Serial.begin(); — команда запускает последовательный порт
  • Serial.end(); — останавливает и очищает последовательный порт
  • Serial.print(); — отправляет данные в последовательный порт
  • Serial.println(); — отправляет данные с переносом строки
  • Serial.read();   — принимает данные из последовательного порта
  • Serial.parseInt(); — чтение больших чисел из монитора порта

Пример 1. Команды для вывода текста

void setup()
{
  Serial.begin(9600);    // подключаем монитор порта
  Serial.print("Start"); // выводим текст на монитор 1 раз
}

void loop()
{
  Serial.print("Hello!"); // выводим текст 1 раз в секунду
  delay(1000);            // задержка в 1 секунду
}

Пример 2. Команды с переносом строки

void setup()
{
  Serial.begin(9600);    // подключаем монитор порта
  Serial.println("Start"); // выводим текст на монитор 1 раз
}

void loop()
{
  Serial.println("Hello!"); // выводим текст 1 раз в секунду
  delay(1000);              // задержка в 1 секунду
}

Пример 3. Вывод переменных на монитор порта

void setup()
{
  Serial.begin(9600);    // подключаем монитор порта
  Serial.println("Start"); // выводим текст на монитор 1 раз
}

void loop()
{
  byte z;                // освобождаем память для переменной z
  byte x = random(0,10); // генерируем случайное число x
  byte y = random(0,10); // генерируем случайное число y

  z = x + y; // выполняем операцию сложения

  // выводим результаты арифметических операций
  Serial.print(x);
  Serial.print(" + ");
  Serial.print(y);
  Serial.print(" = ");
  Serial.println(z);

  delay(1000); // задержка в 1 секунду
}
Общение компьютера и Ардуино через Serial Monitor
Скетч для общения компьютера и Ардуино через Serial Monitor

Для вывода сообщений на мониторе порта можно использовать табуляцию и перенос строк для оформления, чтобы сделать информацию удобной для восприятия.

Пример 5. Команды для табуляции и переноса строк

void setup()
{
  Serial.begin(9600);    // подключаем монитор порта
  Serial.println("Start"); // выводим текст на монитор 1 раз
}

void loop()
{
  byte z;                // освобождаем память для переменной z
  byte x = random(0,10); // генерируем случайное число x
  byte y = random(0,10); // генерируем случайное число y

  z = x * y; // выполняем операцию умножения

  // выводим результаты арифметических операций
  Serial.print(x);
  Serial.print("\t"); // табуляция
  Serial.print(y);
  Serial.print("\t"); // табуляция
  Serial.print(z);
  Serial.print("\n"); // перенос строки
  delay(1000); // задержка в 1 секунду
}

Часто в скетчах требуется отключить Serial Monitor или очистить буфер обмена последовательного порта, для этого используется команда Serial.end();, чтобы запустить обмен информацией между Ардуино и компьютером снова выполняется команда Serial.begin();, которую можно прописать в процедуре loop. Если у вас выводятся кракозябры и иероглифы, то проверьте скорость передачи данных, установленную в скетче, и в настройках утилиты (правый нижний угол).

Как подключить монитор порта Ардуино правильно, чтобы не выводились квадратики и иероглифы мы разобрались — это команда Serial.begin(9600); (скорость обмена данными по умолчанию). Чтобы отправлять данные в последовательный порт с компьютера и управлять Ардуино, используется команда Serial.read(); для приема данных и Serial.parseInt(); для чтения больших чисел. Использование данных команд на примере можно посмотреть здесь: Управление Ардуино с компьютера.

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5,00 out of 5)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *