Монк - Программируем Arduino. Профессиональная работа со скетчами.

Здесь есть возможность читать онлайн «Монк - Программируем Arduino. Профессиональная работа со скетчами.» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: СПб., Год выпуска: 2017, ISBN: 2017, Издательство: Издательский дом Питер, Жанр: Программирование, Компьютерное железо, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программируем Arduino. Профессиональная работа со скетчами.: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программируем Arduino. Профессиональная работа со скетчами.»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Arduino — стандартный микроконтроллер, получивший широкое признание у инженеров, мастеров и преподавателей благодаря своей простоте, невысокой стоимости и большому разнообразию плат расширения. Платы расширения, подключаемые к основной плате Arduino, позволяют выходить в Интернет, управлять роботами и домашней автоматикой.
Простые проекты на основе Arduino не вызывают сложностей в реализации. Но, вступив на территорию, не охваченную вводными руководствами, и увеличивая сложность проектов, вы быстро столкнетесь с проблемой нехватки знаний — врагом всех программистов.
Эта книга задумана как продолжение бестселлера «Programming Arduino: Getting Started with Sketches». Несмотря на то что эта книга включает краткое повторение основ из книги «Programming Arduino», она познакомит читателя с более продвинутыми аспектами программирования плат Arduino.

Программируем Arduino. Профессиональная работа со скетчами. — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программируем Arduino. Профессиональная работа со скетчами.», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

После выделения памяти массивом можно пользоваться точно так же, как если бы память для него была выделена статически. Динамическое распределение памяти позволяет отложить принятие решения о размере массива до фактического запуска скетча, и это единственное преимущество данного подхода.

Однако, используя прием динамического распределения памяти, легко оказаться в ситуации, когда память выделяется, но не освобождается, из-за чего скетч может быстро исчерпать имеющуюся память. Исчерпание памяти может вызвать зависание Arduino. Но если вся память выделяется статически, такого не происходит.

Обратите внимание на то, что даже мне, разработавшему не одну сотню проектов на Arduino, сложно найти вескую причину, оправдывающую прием динамического выделения памяти в Arduino.

Строки

Строки (текста) намного реже используются в скетчах для Arduino, чем в обычных программах. В обычных программах строки чаще всего применяются для взаимодействий с пользователями или базами данных, где текст является естественным средством передачи информации.

Многие программы для Arduino вообще не нуждаются в текстовом представлении данных или используют его только в командах Serial.println для нужд отладки.

В Arduino поддерживаются два основных метода использования строк: старый метод — массивы элементов типа char и новый метод с применением библиотеки String Object.

Массивы элементов типа char

Когда в скетче определяется строковая константа, такая как

char message[] = "Hello World";

создается статический массив элементов типа char, содержащий 12 символов. Именно 12, а не 11, по числу букв в строке «Hello World», потому что в конец добавляется заключительный нулевой символ (\0), отмечающий конец строки. Такое соглашение для строк символов, принятое в языке C, позволяет использовать массивы символов большего размера, чем предполагалось вначале (рис. 6.4). Каждая буква, цифра или другой символ имеет код, который называют значением ASCII.

Рис 64Массив элементов типа char в стиле языка C с завершающим нулевым - фото 45

Рис. 6.4.Массив элементов типа char в стиле языка C с завершающим нулевым символом

Обратите внимание на то, что часто используется немного иной синтаксис записи строковых констант:

char *message = "Hello World";

Этот синтаксис действует подобным образом, но определяет message как указатель на символ (первый символ в массиве).

Форматированный вывод строк несколькими командами print

Часто строки необходимы, только чтобы вывести сообщение на жидкокристаллический дисплей или в качестве параметра Serial.println. Многие могут подумать, что в основном требуется только возможность объединения строк и преобразования чисел в строки. Например, рассмотрим конкретную проблему — как на жидкокристаллическом дисплее отобразить сообщение «Temp: 32 C». Вы могли бы предположить, что для этого нужно объединить число 32 со строкой "Temp: " и затем добавить в конец строку " C". И действительно, программисты с опытом использования языка Java могли бы попытаться написать на C следующий код:

String text = "Temp: " + tempC + " C";

Увы, в C этот прием не работает. В данном случае сообщение можно вывести несколькими инструкциями print, как показано далее:

lcd.print("Temp: "); lcd.print(tempC); lcd.print(" C");

Этот подход устраняет необходимость закулисного копирования данных в процессе конкатенации (объединения) строк, как происходит в других современных языках.

Аналогичный подход с применением нескольких инструкций вывода можно использовать при работе с монитором последовательного порта и инструкциями Serial.print. В подобных случаях последней в строке обычно используется команда println, добавляющая в конец символ перевода строки.

Форматирование строк с помощью sprintf

Стандартная библиотека строковых функций для языка C (не путайте с библиотекой Arduino String Object, которая обсуждается в следующем разделе) включает очень удобную функцию sprintf, выполняющую форматирование массивов символов. Она вставляет значения переменных в строку шаблона, как показано в следующем примере:

char line1[17];

int tempC = 30;

sprint(line1, "Temp: %d C", tempC);

Массив символов line1 — это строковый буфер, содержащий форматированный текст. Как указано в примере, он имеет емкость 17 символов, включая дополнительный нулевой символ в конце. Имя line1 я выбрал потому, что собираюсь показать, как сформировать содержимое верхней строки для жидкокристаллического дисплея с двумя строками по 16 символов в каждой.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Программируем Arduino. Профессиональная работа со скетчами.»

Представляем Вашему вниманию похожие книги на «Программируем Arduino. Профессиональная работа со скетчами.» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Программируем Arduino. Профессиональная работа со скетчами.»

Обсуждение, отзывы о книге «Программируем Arduino. Профессиональная работа со скетчами.» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x