Операторы переключения и прерывания в Ардуино

switch и breakРабота оператора переключения (switch) похожа на работу оператора if с несколькими конструкциями else-if. Switch используется вместе с break (оператор прерывания), о чем мы и поговорим в этой статье.

Использование switch, вместо нескольких конструкций else-if, даст вам больше возможностей в программировании, да и упростит чтение и понимание кода программ.

Пример работы switch

В следующем скетче показано, как оператор переключения switch используется вместе с оператором break.

Загрузите скетч в Arduino и затем запустите окно Монитор порта. Отправка цифры 1 из окна Монитор порта в Arduino включит встроенный светодиод, а отправка цифры 2 выключит светодиод.

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

Как работает скетч, будет объяснено позже в этой статье, но сначала мы должны взглянуть на структуру оператора switch и то, как работает оператор прерывания break.

Структура оператора switch

На изображении ниже показана структура оператора switch:

Структура оператора switch

Оператор switch содержит переменную (switch_var на приведенном выше изображении или rx_byte в примере скетча), которая может быть целочисленной (int) или символьной (char) переменной.

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

Если соответствующий регистр (case) не будет найден, то код под ключевым словом по умолчанию будет выполняться до тех пор, пока не будет найден его оператор break.

Как работает данный скетч

В примере скетча оператор switch помещается внутри оператора if в основном цикле. Оператор switch будет запускаться только в том случае, если новый символ получен из окна Монитор порта.

Когда из окна Монитор порта поступает символ, оператор switch проверяет соответствие значения case. При получении символа «1» загорается светодиод, и в окне Монитор порта отображается сообщение.

Если получено «2», светодиод гаснет. «3» отображает меню опций, доступных в скетче.

Если какой-либо символ передается, не соответствующий символам ни в одном из случаев инструкции, то код по умолчанию отображает сообщение.

Оператор break

Оператор break используется в примере скетча для выхода из тела оператора switch.

Оператор break также можно использовать для выхода из любого цикла, например цикла while или for. Например, определенное условие может быть проверено в цикле с помощью оператора if, и если оператор оценивается как истина, оператор break может быть запущен для выхода из цикла.

Вывод

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

С Уважением, МониторБанк

Добавить комментарий