уроци Arduino
Отново, това е минималната информация. Описание указатели, класове, низови променливи и т.н. Тя ще бъде дадено в следващите уроци. Ако нещо не ще разбере, че не се притеснявайте. В бъдещите уроци ще бъде много примери и обяснения.
Arduino програма структура.
Arduino програма структура е проста и минималната изпълнение се състои от две части настройка () и линия ().
// код извършва веднъж, когато програмата започва
// основен код се изпълнява в цикъл
настройка () функция се изпълнява веднъж при подаване на захранване или нулиране на контролера. Обикновено се появи в него първоначалните инсталационни променливи, регистрира. Функцията трябва да присъства в програмата, дори и ако това не е нищо.
След приключване на настройката (), контролът продължава до (функцията линия) на. Това е в безкраен цикъл изпълнява командите в тялото си (между скобите). Всъщност тези команди и правят всичко контролер алгоритмичен действие.
първоначалната синтаксис С правило
; точка и запетая изрази могат да съдържат произволен брой места, нови редове. Терминатор израз е символ на "точка и запетая".
<> скоби определят функциите на единични или изрази. Например, в настройката () и линия ().
Променливата е клетъчна памет, в която се съхранява информация. Програмата използва променливи, които да държат междинни данни за изчисляване. За изчисленията могат да се използват данни от различни формати, различна битова дълбочина, така че променливите имат следните видове език C.
Типове данни се избират въз основа на желаната точност на изчисленията, формати за данни и т.н. Не е необходимо, например, един брояч до 100, изберете вида на дълга. Ще работи, но работата ще отнеме повече място за съхранение на данни и програми ще изискват повече време.
Определя типа на данните, а след това името на променливата.
Всички променливи трябва да бъдат обявени преди да бъдат използвани.
Променливата може да бъде обявено във всяка част на програмата, но това зависи от това кои блокове програми могат да го използват. Т.е. променливи имат обхват.
- Променливите, декларирани в началото на програмата до функция невалидни настройка (), се считат за глобален и достъпна навсякъде в програмата.
- Могат да се използват локални променливи, декларирани в рамките на функции или единици, като например един цикъл за и само в рекламни елементи. Има няколко променливи със същото име, но различен обхват.
Int режим; // променлива е достъпна за всички функции
невалидни настройка () // празна кутия, първоначалните настройки не са необходими
>
дълго броене; // брой променлива е на разположение само в контура () функция
за (INT I = 0; и <10;) // переменная i доступна только внутри цикла
<
и ++;
>
>
Int х = 0; // декларира променлива х с начална стойност 0
овъгляване г = "а"; // декларира променлива г с първоначална стойност, равна на кода "" символ
Когато аритметични операции с различни типове данни, се случва автоматично преобразуване на типове данни. Но тя винаги е по-добре да се използва открита конверсия.
Int х; // Int променлива
въглен у; // овъгляване променлива
междинно съединение Z; // Int променлива
Z = х + (междинно съединение) г; // у е изрично превръща в междинно съединение
Избор на опции за управление на програмата.
АКО изявление проверява състоянието в скоби, и извършва последващ израз или блок в скоби, ако условието е вярно.
ако (X == 5) // ако х = 5, тогава Z = 0 се извършва
Z = 0;
ако (х> 5) // ако х> 5, след това единица Z = 0, у = 8;
АКО ... ELSE позволява избор между двете възможности.
ако (х> 5) // ако х> 5, след това единица Z = 0, у = 8;
<
Z = 0;
у = 8;
>
останало // В противен случай, на блока се изпълнява
<
Z = 0;
у = 0;
>
Иначе, ако - ви позволява да направите няколко селекции
ако (х> 5) // ако х> 5, след това единица Z = 0, у = 8;
<
Z = 0;
у = 8;
>
иначе, ако (х> 20) // ако х> 20, блок е изпълнен
<
>
останало // В противен случай, на блока се изпълнява
<
Z = 0;
у = 0;
>
SWITCH CASE - множествен избор. Той сравнява променлива (в този пример, х) с няколко константи (в пример 5 и 10) и извършване на единица, в която променлива е равна на константа.
При 5.
// код се изпълнява, ако х = 5
прекъсване;
10 случай.
// код се изпълнява, ако х = 10
прекъсване;
подразбиране.
// код се активира, ако не съвпада нито предишната стойност
прекъсване;
>
Цикъл ЗА. Дизайнът позволява да организирате цикли на предварително определен брой повторения. Синтаксисът изглежда така:
за (действие преди контура;
условие за продължаване на цикъла;
действие в края на всяка итерация)
Пример цикъл от 100 повторения.
за (I = 0; и <100; i++ ) // начальное значение 0, конечное 99, шаг 1
ДОКАТО линия. Това позволява на оператора да организира цикъла с дизайна:
докато (експресията)
<
// контур код тяло
>
Веригата се изпълнява, докато експресията в скобите е вярно. Пример 10 повторения цикъл.
Направя, докато - цикъл с условие на изхода.
правя
<
// контур код тяло
> Въпреки (експресията);
Веригата се изпълнява, докато експресията е вярно.
BREAK - операторът от примката. Той се използва, за да прекъснете за електрически вериги, докато, докато правя.
х = 0;
а (х <10 )
<
ако (Z> 20) прекъсване; // ако Z> 20, след излизане от цикъла
// контур код тяло
х ++;
>
GOTO - безусловно изявление скок.
Иди metka1; // преход към metka1
..................
metka1:
ПРОДЪЛЖИ - Премини на операторите до края на цикъла.
х = 0;
а (х <10 )
<
// контур код тяло
ако (Z> 20) да продължи; // ако Z> 20, след това се връща в началото на тялото на цикъл
// контур код тяло
х ++;
>
Масивът е паметта, където множество променливи се съхраняват последователно.
Декларира масив така.
INT възраст [10]; // масив от 10 променливи тип Int
поплавък тегло [100]; // масив от 100 променливи от тип поплавък
Що се отнася до променлива масив, както следва:
х = възраст [5]; // х се определя стойност от 5 в масива.
възрасти [9] = 32; // масив елемент 9 е настроен на 32
Номерирането на масив елементи винаги е нула.
Функции ви позволяват да изпълняват едни и същи действия, с различни данни. Функцията е:
- името, с което той предизвиква;
- аргументи - данните, че функцията използва, за да се изчисли;
- типа на данните, върнати от функцията.
Описва потребителски дефинирана функция е настроена функция () и линия ().
невалидни настройка () <
// код извършва веднъж, когато програмата започва
>
невалидни линия () <
// основен код се изпълнява в цикъл
>
Пример функция изчислява сумата от квадратите на два аргумента.
Int sumQwadr (междинно съединение X, Int у)
<
връщане (х * х + у * у);
>
Функция повикване е както следва:
г = 2; б = 3;
Z = sumQwadr (д, б); // Z е сумата от квадратите на променливи г и б
Функции са вградени, обичай и компонентна.
Много кратки, но тези данни трябва да бъдат достатъчни, за да започне писането на програми в C за Ардуино системи.
Последното нещо, което искам да покрие в този урок, тъй като изготвя програма в C. Мисля, че ако прочетете урока за първи път, трябва да пропуснете тази част и се върнете към него по-късно, когато тя ще се изпълни.
Препоръки за проектирането на програми в C.
Основната цел на външния дизайн на програмата е да се подобри яснотата на програмата, намаляване на броя на формални грешки. Следователно, за да се постигне тази цел може да бъде лесно да нарушава всички препоръки.
Имена, които представляват видовете данни, които да бъдат написани на малки и големи букви. Първата буква от името трябва да бъде капитал (с главни букви).
Имената на променливите трябва да бъдат написани с малки и първата буква спешно (с малки букви).
Константите трябва да бъдат написани само с главни букви. Като сепаратор черта.
Методи и функции трябва да се нарича глаголи, записани в малки и големи букви, първата буква с малки букви.
На други формалности, в следните класове, както е необходимо.
В следващия урок, пишем, че първата програма, се научат да четат данни от цифрови портове и да управляват своето състояние.
Едуард здравей! За да бъда честен - много изненадан от уроците си. Когато не повече от не съм срещал по-разбираеми и информативни уроци - много ви благодаря! Аз имам един въпрос - тази функция невалидни Setup () се извършва само веднъж в началото на микроконтролер. След функцията е изпълнено - какво се случва с променливите, декларирани в рамките на функцията и вече не са необходими? Освободен ако паметта им zanimaemaemaya? Или, за които е необходимо да се вземат всички мерки, или по своя собствена?
Добре дошли!
Благодаря ви за милите думи. Променливите в настройката са обект на обичайните правилото за променливо поле. Ако те са обявени в тази функция, тя е локална променлива. Когато променливите на функцията са унищожени, паметта се освобождава.
Bit utochnit.Pust:
Int i1;
Int i2 = 10;
настройка ()
Int i3 = 20;
>
Assembler ще изглежда така?:
за първи път в клетката (i1) се записва в стойността по подразбиране, след което клетката (i2) и изпращане на 10 само в последния изпратен в клетка (i3) 20?