Монк . - Программируем Arduino

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

Программируем Arduino: краткое содержание, описание и аннотация

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

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

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

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

Интервал:

Закладка:

Сделать

delay(500);

}

int takeReading()

{

digitalWrite(powerPin, HIGH);

delay(10); // фоторезистору требуется некоторое время

int reading = analogRead(inputPin);

digitalWrite(powerPin, LOW);

return reading;

}

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

В заключение

Лучшие способы уменьшить потребление электроэнергии:

• переводить микроконтроллер в режим энергосбережения, когда не требуется выполнять никаких действий;

• использовать для питания Arduino пониженное напряжение;

• уменьшать тактовую частоту Arduino.

6. Память

Объем памяти в большинстве компьютеров исчисляется гигабайтами, но в Arduino Uno ее всего 2 Кбайт. То есть более чем в миллион раз меньше, чем в обычном компьютере. Однако ограниченный объем памяти удивительным образом способствует концентрации мысли в процессе программирования. Здесь нет места для расточительства, которым страдает большинство компьютеров.

Писать эффективный код, конечно, важно, но необязательно делать это за счет усложнения чтения и сопровождения. Даже при таких ограниченных ресурсах, как в Arduino, большинство скетчей оказываются далеки от использования всего объема оперативного запоминающего устройства (ОЗУ). Беспокоиться о нехватке памяти приходится, только когда создается действительно очень сложный скетч, использующий массу данных.

Память в Arduino

Сравнивать объем памяти в Arduino и в обычных компьютерах не совсем корректно, так как в них память ОЗУ используется для разных целей. На рис. 6.1 показано, как используется память в компьютере, когда запускается программа.

Когда компьютер запускает программу, он сначала копирует ее целиком с жесткого диска в ОЗУ, а затем запускает эту копию. Переменные в программе занимают дополнительный объем ОЗУ. Для сравнения на рис. 6.2 показано, как используется память в Arduino, когда запускается программа. Сама программа действует, находясь во флеш-памяти. Она не копируется в ОЗУ.

Рис 61Как используется память в компьютере Рис 62Как используется - фото 44

Рис. 6.1.Как используется память в компьютере

Рис 62Как используется память в Arduino ОЗУ в Arduino используется только - фото 45

Рис. 6.2.Как используется память в Arduino

ОЗУ в Arduino используется только для хранения переменных и других данных, имеющих отношение к выполняющейся программе. ОЗУ является энергозависимой памятью, то есть после отключения питания оно очищается. Чтобы сохранить данные надолго, программа должна записать их в ЭСППЗУ. После этого скетч сможет считать данные в момент повторного запуска.

При приближении к границам возможностей Arduino придется позаботиться о рациональном использовании ОЗУ и, в меньшей степени, о размере программы внутри флеш-памяти. Так как в Arduino Uno имеется 32 Кбайт флеш-памяти, этот предел достигается нечасто.

Уменьшение используемого объема ОЗУ

Как вы уже видели, чтобы уменьшить используемый объем ОЗУ, следует уменьшить объем памяти, занимаемой переменными.

Используйте правильные структуры данных

Самым широко используемым типом данных в Arduino C, бесспорно, является тип int. Каждая переменная типа int занимает 2 байта, но часто такие переменные используются для представления чисел из намного более узкого диапазона, чем –32 768…+32 767, и нередко типа byte с его диапазоном 0…255 для них оказывается вполне достаточно. Большинство встроенных методов, принимающих аргументы типа int, с таким же успехом могут принимать однобайтовые аргументы.

Типичным примером могут служить переменные с номерами контактов. Они часто объявляются с типом int, как показано в следующем примере:

// sketch_06_01_int

int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};

void setup()

{

for (int i = 0; i < 12; i++)

{

pinMode(ledPins[i], OUTPUT);

digitalWrite(ledPins[i], HIGH);

}

}

void loop()

{

}

Массив типа int без всяких последствий можно преобразовать в массив байтов. В этом случае функции в программе будут выполняться с той же скоростью, зато массив будет занимать в два раза меньше памяти.

По-настоящему отличный способ экономии ОЗУ — объявление неизменяемых переменных константами. Для этого достаточно добавить слово const в начало объявления переменной. Зная, что значение никогда не изменится, компилятор сможет подставлять значение переменной в местах обращения к ней и тем самым экономить ОЗУ. Например, массив из предыдущего примера можно объявить так:

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

Интервал:

Закладка:

Сделать

Похожие книги на «Программируем Arduino»

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


Отзывы о книге «Программируем Arduino»

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