Читаем Занимательно о микроконтроллерах полностью

Каждый Идентификатор — это имя константы. Все идентификаторы в списке констант оператора enum должны быть уникальными. Если константе явным образом не присваивается Константное выражение (чаще всего это число), то первому идентификатору присваивается значение 0, следующему — значение 1 и т. д.

Пример объявления переменной rab_ned и типа week для переменных, совместимых с переменной rab_ned, выглядит следующим образом:

enum week {SUB = 0,     /* константе SUB присвоено значение 0 */

                  VOS = 0,     /* константе VOS присвоено значение 0 */

                  POND,        /* константе POND присвоено значение 1 */

                  VTOR,        /* константе VTOR присвоено значение 2 */

                  SRED,        /* константе SRED присвоено значение 3 */

                  HETV,        /* константе HETV присвоено значение 4 */

                  PJAT         /* константе PJAT присвоено значение 5 */

                 }  rab ned; 

Идентификатор, связанный с Константным выражением, принимает значение, задаваемое этим Константным выражением. Результат вычисления Константного выражения должен иметь тип int и может быть как положительным, так и отрицательным. Следующему идентификатору в списке, если этот Идентификатор не имеет своего Константного выражения, присваивается значение, равное константному выражению предыдущего идентификатора плюс 1. Использование констант должно подчиняться следующим правилам:

— объявляемая переменная может содержать повторяющиеся значения констант;

— идентификаторы в списке констант должны быть отличны от всех других идентификаторов в той же области видимости, включая имена обычных переменных и идентификаторы из других списков констант;

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

— значение может следовать за последним элементом списка констант перечисления.

Во втором формате для объявления переменной перечислимого типа используется готовый тип переменной, уже объявленный ранее. Например: enum week rabl;

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

typedef enum {SUB = 0,     /* константе SUB присвоено значение 0 */

                      VOS = 0,     /* константе VOS присвоено значение 0 */

                      POND,        /* константе POND присвоено значение 1 */

                      VTOR,        /* константе VTOR присвоено значение 2 */

                      SRED,         /* константе SRED присвоено значение 3 */

                      HETV,        /* константе HETV присвоено значение 4 */

                      PJAT          /* константе PJAT присвоено значение 5 */

                    }  week; 

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

Указатели

Указатель — это переменная, которая может содержать адрес другой переменной. Указатель может быть использован для работы с переменной, адрес которой он содержит. Для инициализации указателя (записи в него начального адреса) можно использовать идентификатор переменной, при этом в качестве идентификатора может выступать имя переменной, массива, структуры, литеральной строки.

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

Спецификатор типа [Модификатор] '*' Описатель.

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

Перейти на страницу:

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

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

Чарльз Платт

Радиоэлектроника / Технические науки
Электроника для начинающих
Электроника для начинающих

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

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника