Эксперимент Маячок



бет35/45
Дата13.02.2023
өлшемі1,82 Mb.
#67503
түріЗакон
1   ...   31   32   33   34   35   36   37   38   ...   45
Пояснения к коду

  • Очень часто бывает полезно обмениваться данными, например, с компьютером. В частности, для отладки работы устройства: можно, например, смотреть, какие значения принимают переменные.

  • В данном эксперименте мы знакомимся со стандартным объектом Serial, который предназначен для работы с последовательным портом (UART) Arduino, и его методами (функциями, созданными для работы с данным объектом) begin()print() и println(), которые вызываются после точки, идущей за именем объекта:

    • чтобы обмениваться данными, нужно начать соединение, поэтому Serial.begin(baudrate)вызывается в setup()

    • Serial.print(data) отправляет содержимое data. Если мы хотим отправить текст, можно просто заключить его в пару двойных кавычек"". Кириллица, скорее всего, будет отображаться некорректно.

    • Serial.println(data) делает то же самое, только добавляет в конце невидимый символ новой строки.

  • В print() и println() можно использовать второй необязательный параметр: выбор системы счисления, в которой выводить число (это может быть DECBINHEXOCT для десятичной, двоичной, шестнадцатеричной и восьмеричной систем счисления соответственно) или количество знаков после запятой для дробных чисел.

Например,
Serial.println(18,BIN);
Serial.print(3.14159,3);
в мониторе порта даст результат
10010
3.142

  • Монитор порта, входящий в Arduino IDE, открывается через меню Сервис или сочетанием клавиш Ctrl+Shift+M. Следите за тем, чтобы в мониторе и в скетче была указана одинаковая скорость обмена данными, baudrate. Скорости 9600 бит в секунду обычно достаточно. Другие стандартные значения можете посмотреть в выпадающем меню справа внизу окна монитора порта.

  • Вам не удастся использовать цифровые порты 0 и 1 одновременно с передачей данных по последовательному порту, потому что по ним также идет передача данных, как и через USB-порт платы.

  • При запуске монитора порта скетч в микроконтроллере перезагружается и начинает работать с начала. Это удобно, если вам нельзя упустить какие-то данные, которые начинаю передаваться сразу же. Но в других ситуациях это может мешать, помните об этом нюансе!

  • Если вы хотите читать какие-то данные в реальном времени, не забывайте делать delay() хотя бы на 100 миллисекунд, иначе бегущие числа в мониторе будет невозможно разобрать. Вы можете отправлять данные и без задержки, а затем, к примеру, скопировать их для обработки в стороннем приложении.

  • Последовательность \t выводится как символ табуляции (8 пробелов с выравниванием). Также вы можете использовать, например, последовательность \n для перевода строки. Если вы хотите использовать обратный слеш, его нужно экранировать вторым таким же: \\.



Достарыңызбен бөлісу:
1   ...   31   32   33   34   35   36   37   38   ...   45




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет