|
|
|
|
Совместная работа переводчиковКонтроллеры Arduino
Вы только что загрузили первый скетч. Надеюсь, что он у вас работает, и теперь нужно понять, что это за фокусы происходят. Самое первое, что нужно запомнить: никакой магии здесь нет — просто очень много людей постарались подготовить для вас почву, чтобы вам вот таким вот легким движением можно было заставить целое устройство работать. Что же было сделано? Давайте схематично представим контроллер, как некий ящик, в котором есть место для хранения данных, а также место для хранения инструкций, а также там есть еще процессор, который эти инструкции выполняет: он может обращаться к данным, записывать их в свою память, получать их из памяти, а также работать с портами — с входами и с выходами. Итак, все, что делает контроллер, это выполняет инструкции, которые записаны в виде нулей и единиц, точно так же, как и данные. Скорее всего, вы знаете, что все цифровые устройства работают с данными, которые представлены в виде нулей и единиц — двоичного кода. Если вы никогда не слышали о том, как это кодирование происходит, посмотрите в дополнительных материалах, а пока что примем это за данность. Инструкции, которые выполняет контроллер, точно так же хранятся в виде машинного кода, то есть каких-то команд в виде нулей и единиц. Скажем прямо: мало кто может писать непосредственно машинный код. Для этого люди придумали языки программирования. Для чего они нужны? Это некий промежуточный этап между естественным человеческим языком, на котором мы говорим, и тем самым набором инструкций из нулей и единиц, который может понимать техника — наш контроллер. Когда речь идет о программировании Arduino, можно считать, что мы пользуемся языком C/C++. Там есть свои нюансы реализации, интересная история появления, но оставим это за рамками. Итак, у нас есть язык C, у нас есть какая-то задача. Нашу задачу мы можем описать любыми словами на нашем русском языке, можем описать ее с разной степенью детализации, но для того чтобы запрограммировать устройство, лучше отказаться от лишних деталей и четко сформулировать алгоритм, то есть последовательность действий, которую будет выполнять ваше устройство. Мы этим займемся вскоре, когда вернемся к задаче со светофором. Пока что в общих чертах. У вас есть алгоритм, выраженный на привычном вам языке. Затем, зная язык программирования, вы переводите его с русского языка, выражая по правилам языка программирования. Вы записали код, после чего выполняете все те действия, которые мы делали с примером, взятым из среды разработки. Происходит так называемая компиляция, то есть язык программирования переводится в машинный код, и тот файлик с машинным кодом, который выдал компилятор, загружается при помощи специального загрузчика на плату. Примерно таким образом выглядит цикл жизни вашей программы: от задумки в голове, через формулировку ее на привычном языке, написание кода, компиляцию и загрузку. |
|
|
|
|