Amperka езици за програмиране
Така че, може да има процесор. Вероятно знаете, че процесорът може по някакъв начин да го програмиран да прави каквото искаш. За полезна работа е необходимо да (а) напиши полезна програма е изпълнена и (б) да го дам на процесора за изпълнение.
Като цяло, без значение какво е то имате Процесор: Intel Pentium последно във вашия лаптоп или микроконтролер на Ардуино. Принципи за писане на програми, т.е. програмиране. и в двата случая един и същ. Той варира само скоростта и обема на възможности за работа с други устройства.
Каква е програмата и къде да го напиша
Процесор въпреки сложността на производството по същество, съвсем просто и ясно нещо. Мисля, че той не може. Той може само сляпо, байт по байт за изпълнение инструкции, които той подхлъзнаха. Може да предизвика поредица например инструкция груб:
Какво означава това за процесора
Това означава да се вземе на следващия байт и да го съхранява в клетка №1
... това е само следващия байт, която ние съхраняваме в клетката №1: номер 5
Това означава да се отнеме от стойността на единица клетка №1 и я оставете актуализираните резултати
означава да се сравни стойността в клетката №1 до нула и ако тя е нула - да скочи над колкото се може повече байта, както е показано в следната байт
... ако резултатът е нула, ние искаме да скочи през инструкциите за 4-байт предпоследната
Това означава, че ние искаме да покаже характер, чийто код е написан на следващия байт
В резултат на изпълнение на поредица от команди на екрана ще се появи паника израза "AAAA!".
Доста код за такава проста цел! Ясно е, че ако всички програми са написани по този начин, директно, разработването на комплексни продукти ще продължи един век.
Защо са езиците за програмиране
Програми на тези езици са много по-близо до естествения човешки език. И затова е по-лесно, по-бързо и по-забавно да пиша, и най-важното е, че те са много по-лесни за четене. веднага след като ви пишат в една година или си колега.
Проблемът е, че тези езици не се разбира от процесора, и преди да му програма, тя трябва да бъде събрана. преведено от инструкциите на естествен език са същите като единици и нули. Те са ангажирани в тази програма, която се нарича компилатори. Във всеки език, освен ако той или тя остава на нивото на фантазията, има компилатор. За популярните езици те обикновено са няколко, за да изберете от различни производители и за различни платформи. Повечето от тях са свободно достъпни в Интернет.
Бинарни файлове не са подходящи за четене и са по принцип само за производителност на процесора. Те могат да бъдат от различен тип, в зависимост от това, което получава. Търсейки - е програма за Windows. шестнадесетичен - програма за изпълнение от микроконтролера като Arduino и др
Защо е има толкова много езици за програмиране и каква е разликата?
Защо? Тъй като много хора и компании в света, както и много хора вярваха, че могат да направят по-добре от всеки друг, е по-лесно, по-интуитивен, по-бързо, по-икономична.
Каква е разликата: различните езици - това е различен баланс на скорост на записване, по-голяма яснота, докато четете и скорост на изпълнение.
Нека да разгледаме една и съща програма, която показва песента за 99 бирени бутилки в различни програмни езици.
Например, Perl език. Написано бързо; Разбирам какво програмистът е имал предвид, не е възможно; оказва бавно
Езикът Java. Написано в относително дълъг период от време; Току-що прочетох; Тя изпълнява доста бързо, но това отнема много памет:
Език Assembler. Написано за дълго време; трудно да се чете; изпълнена много бързо:
На какво се програмира Arduino
Ако говорим за Ардуино или MCUs от компанията Atmel, езикът може да пише програми за тях? Теоретичната отговорът на никого. Но на практика, изборът е ограничен до езика асемблер, C и C ++. Това се дължи на факта, че в сравнение с настолен компютър, те имат много ограничени ресурси. Килобайта памет, а не гигабайта. Мегахерца процесор, а не гигахерца. Това е такса за ниска цена и енергийната ефективност.
Така че ще трябва език, който може да се компилира и изпълнява ефективно. Това е преведен на самите единиците и нулите на инструкциите как да оптимално без скъпоценни инструкции и разходите за памет в бъркотията. Такава ефективност просто се обади езици. Използването им, дори и в рамките на тесните рамки на ресурсите на микроконтролера, можете да напишете богат на функции софтуер, който работи бързо.
Assembler, както видяхте, не е най-семпъл и елегантен, и като резултат, водещата език за Arduino е C / C ++.
Много източници твърдят, че Arduino програмиран в Arduino, обработка, окабеляване. Това твърдение не е съвсем вярно. Arduino е програмиран в C / C ++, и това, което се нарича тези думи - това е просто удобен "комплект", което ни позволява да се реши много общи проблеми, без да преоткрива колелото всеки път.
Защо C и C ++ са споменати в едно изречение? C ++ - надмножество на програма В. Всеки С е валиден програма за C ++, но не и обратно. Можете да използвате и двете, че и друг. Най-често дори няма да мисля за това, че използвате, решаване на настоящия проблем.
И по-точно: на първата програма
Нека да напише първата програма за Arduino и я принудил да извърши плащането. Трябва да създадете текстов файл с изходен код, да го компилирате и набута в резултат двоичен микроконтролера на дъската.
Така че нека да напише скица, която не прави нищо. Това е най-ниската възможна правилната програма в C ++, които просто изгаря време.
В резултат на това сме се превърнали двоичен файл с .hex. който може да носи микроконтролер.
Сега трябва да го бутам Arduino. Този процес се нарича зареждане, фърмуер или изливане. там «Качи» бутон за изтеглянето на Ардуино, в лентата с инструменти. Свържете Ардуино към компютъра чрез USB-кабел, натиснете «Качи» и след няколко минути, програмата ще бъдат заредени в Ардуино. Програмата, която беше там, преди да бъде изтрита.
Една успешна фърмуер предвестник надпис «Съставено Качване».
Ако се опитате да заредите срещнете бъг, уверете се, че:
В менюто Инструменти → съвет избра порт, към който наистина свързан Arduino. Можете да povstavlyat povynimat и USB-кабел, за да разбере кой порт се появява и изчезва: това е Arduino.
Вие имате инсталирани необходимите драйвери за Ардуино. Това е необходимо, за Windows, тя не е длъжна на Linux и е нужно само за стария борд на Arduino Duemilanove на MacOS.
Честито! Ти отиде по целия път от празен лист за работеща програма в Arduino. Да предположим, че тя не се прави, но това е вече успех.
Освен ако не е посочено друго, съдържанието на този уики е лицензирано под следния лиценз: CC Признание-Некомерсиално-Споделяне на споделеното 3.0 Нелокализиран