Переменные, типы данных

Как работают переменные

Любое программирование всегда связано с работой над информацией, то есть данными. Данные могут входить в микроконтроллер - это, по сути, уровень электронов на входе Arduino в определённый момент времени, например, в цепи с датчиком или на линии, которая соединяет контроллер с USB портом компьютера. Также они могут выходить из него, например, устанавливая высокий уровень на цифровом пине, чтобы включить светодиод.В более сложном варианте мы можем передавать последовательность низких/высоких уровней, в которой зашифрованны данные. Такая последовательность называется протоколом.

Чтобы использовать эти данные, их нужно где-то хранить, ведь если они пропадут, то дальше мы не сможем ими пользоваться. Для хранения данных используется память. Она бывает разных типов и структур. Например, есть постоянная память - в Ардуино - это Flash-память и EEPROM память, дальше в курсе мы познакомимся с принципами их работы. Она может хранить информацию длительный период времени и не зависит от наличия напряжения на контроллере. Это очень удобно, но к сожалению, этот тип работает медленнее, и выдерживает опр+еделённое количество циклов перезаписи - очень большое, но всё-таки ограниченное. Программа, которую вы загружаете в Ардуино, хранится именно в Flash-памяти.

Есть также оперативная память, в ней данные хранятся, пока у микроконтроллера есть источник питания, дающий ему постоянный приток электронов для её работы. Как только питание отключится, все данные в ней пропадут. Но именно её используют в большинстве случаев, ведь чаще всего нужно работать с теми данными, которые поступают именно сейчас. Для работы с ними как раз используют переменные.

Память можно представить в виде большого стеллажа с огромным количеством ячеек. Одна ячейка составляет 1 байт и может хранить 8 цифровых значений(бит), представляющих последовательность единиц и нулей, например:

1 0 1 1 0 1 0 1

В оперативной памяти Ардуино содержится 8192 таких ячейки, которые мы можем использовать для хранения наших данных.