Дом Личные финансы Электроника Проекты: как программировать подпрограммы PBASIC - манекены

Электроника Проекты: как программировать подпрограммы PBASIC - манекены

Видео: Программирование Arduino UNO - Grbl CNC controller - ЧПУ станок (Часть 3) 2025

Видео: Программирование Arduino UNO - Grbl CNC controller - ЧПУ станок (Часть 3) 2025
Anonim

Подпрограммы PBASIC неоценимы в ваших проектах электроники с использованием процессора BASIC Stamp. Подпрограмма - это часть программы, которая может быть вызвана из любого места в программе. Когда подпрограмма завершается, управление программой переходит к месту, из которого была вызвана подпрограмма.

Подпрограммы полезны, потому что они позволяют отделять длинные части вашей программы от основного цикла программы, что упрощает основной цикл программы, чтобы упростить ее понимание. Еще одно преимущество подпрограмм заключается в том, что они могут уменьшить вашу программу.

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

Чтобы создать и использовать подпрограммы, вам необходимо использовать две команды PBASIC. Первый - это GOSUB, который вызывает подпрограмму. Обычно вы используете команду GOSUB в основном цикле вашей программы, когда хотите вызвать подпрограмму. Вторая команда - RETURN, которая всегда является последней командой в подпрограмме.

Чтобы создать подпрограмму, вы начинаете с метки и заканчиваете командой RETURN. Между ними вы пишете все команды, которые хотите выполнить при вызове подпрограммы.

Вот пример подпрограммы, которая генерирует случайное число между 1 и 999 и сохраняет его в переменной с именем Rnd:

GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN

Чтобы вызвать эту подпрограмму, вы просто должны использовать команду GOSUB следующим образом:

GOSUB GetRandom

Эта команда GOSUB передает управление метке GetRandom. Затем, когда подпрограмма GetRandom достигает команды RETURN, управление переходит к команде сразу после команды GOSUB.

Вот полная программа, которая использует подпрограмму для получения случайного числа от 1 до 1 000 и использует случайное число, чтобы светодиод на контакте 0 мигал с произвольными интервалами. Вы можете запустить эту программу на любой схеме Basic Stamp, на которой есть светодиод на выводе 0.

'LED Blinker Program' Doug Lowe '10 июля 2011 г. «Эта программа мигает светодиодом на контакте 0 случайным образом». {$ STAMP BS2} '{$ PBASIC 2. 5} Rnd VAR Word Led1 PIN 0 DO GOSUB GetRandom HIGH Led1 PAUSE Rnd LOW Led1 PAUSE 100 LOOP GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN

Когда вы используете подпрограмму, это жизненно важно что вы предотвращаете случайную «попадание» вашей программы в свою подпрограмму и выполнение ее, когда вы не собираетесь ее выполнять.Например, предположим, что программа в листинге 3-5 использовала цикл FOR-NEXT вместо цикла DO, потому что вы хотели мигать светодиодом только 100 раз. Вот пример того, как не написать эту программу:

FOR Counter = 1 TO 100 GOSUB GetRandom HIGH Led1 PAUSE Rnd LOW Led1 PAUSE 100 СЛЕД. GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN

Вы понимаете, почему? После того, как цикл FOR-NEXT начнет мигать светодиодом 100 раз, программа продолжит следующую команду после цикла FOR-NEXT, который является подпрограммой!

Чтобы этого не произошло, вы можете использовать еще одну команду PBASIC, END, которая просто сообщает BASIC Stamp, что вы достигли конца вашей программы, поэтому он должен прекратить выполнение команд. Вы должны поместить команду END после команды NEXT, например:

FOR Counter = 1 TO 100 GOSUB GetRandom HIGH Led1 PAUSE Rnd LOW Led1 PAUSE 100 NEXT END GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN > Затем программа остановится после завершения цикла FOR-NEXT.
Электроника Проекты: как программировать подпрограммы PBASIC - манекены

Выбор редактора

Часто задаваемые вопросы о GameMaker: Studio - dummies

Часто задаваемые вопросы о GameMaker: Studio - dummies

Есть целые книги, посвященные демистификации GameMaker: Studio, но у вас может быть общий вопрос и нужен быстрый ответ. И если это так, вы пришли в нужное место! Какие типы игр я могу сделать с GameMaker: Studio? Ответ на этот вопрос: это зависит от вас. В рамках программного обеспечения ...

Gamestar Mechanic: Структура игры - манекены

Gamestar Mechanic: Структура игры - манекены

Каждая игра на Gamestar Mecahnic - это набор элементов которые работают вместе в системе - вы можете использовать почти бесконечный уровень творчества при создании и организации этих элементов. Игры состоят из нескольких спрайтов. Эти спрайты изначально выложены в пространствах сетки дизайнером и ...

Разработка видеоигр - манекены

Разработка видеоигр - манекены

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

Выбор редактора

Выбор режима экспозамера на камере EOS Rebel T3 Series - манекены

Выбор режима экспозамера на камере EOS Rebel T3 Series - манекены

Режим измерения определяет, какую часть кадра анализирует камера, чтобы рассчитать правильную экспозицию. Canon Rebel T3 и T3i предлагают четыре режима измерения. Тем не менее, вы можете получить доступ ко всем четырем режимам только в расширенных режимах экспозиции (P, Tv, Av, M и A-DEP) и только во время обычной съемки через видоискатель. В режиме Live View ...

Захват снимков с помощью Canon EOS 70D - манекены

Захват снимков с помощью Canon EOS 70D - манекены

Высокая скорость затвора - это ключ к захвату без пятен от движущегося объекта, будь то вращающееся колесо обозрения, бабочка, летящая от цветка к цветку, или хоккей-подросток. На первом изображении ниже скорость затвора 1/125 секунд была слишком низкой для Canon EOS 70D, чтобы захватить ...

Выбор настроек с экрана быстрого управления камерой Canon EOS Rebel T3

Выбор настроек с экрана быстрого управления камерой Canon EOS Rebel T3

Экран быстрого управления Canon EOS Rebel T3 и Canon EOS Rebel T3i позволяет вам изменять определенные настройки съемки без использования кнопок управления (кнопка ISO, кнопка компенсации экспозиции и т. Д.) Или меню. Вы можете использовать эту технику для настройки параметров в любом режиме экспозиции, но настройки, которые ...

Выбор редактора

Знают возможности создания фильмов ваших DSLR-манекенов

Знают возможности создания фильмов ваших DSLR-манекенов

, Хотя захват HD-пленки остается совместимым с DSLR, каждый производитель зависит от типа датчика и особенностей камеры. Аксессуары, крепления объективов и функциональность различаются, как и сжатие файлов фильмов. Например, Canon и Nikon используют видеокодек H. 264, тогда как Sony и Panasonic склоняются к AVC-HD, хотя оба могут обеспечить качество вещания. Вот ...

Роли в команде для создания фильмов - манекены

Роли в команде для создания фильмов - манекены

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

Выберите правую камеру DSLR для вашего проекта для создания фильмов - манекены

Выберите правую камеру DSLR для вашего проекта для создания фильмов - манекены

При рассмотрении того, какое оборудование будет лучше для ваш фильм, камера DSLR должна быть сверху в вашем списке. Модели, такие как Canon Rebel T4i, сидят на самой низкой ступени ценовой лестницы, но не позволяйте своему ценовому индексу $ 700 обмануть вас. Его видео высокой четкости в широком диапазоне разрешений и кадров ...