Arcuino hacking

întârziere # 40; 250 # 41; ;

Dacă executați această schiță, aceasta va "imprima" pe cel de-al 13-lea contact "SOS" (semnal de primejdie).

Această schiță constă din mai multe părți care trebuie mutate în bibliotecă. Mai întâi, avem funcțiile punct () și dash (). care, de fapt, clipesc. În al doilea rând, există o variabilă ledPin. care aceste funcții utilizează pentru a afla care contact ar trebui să fie intermitent. În cele din urmă, funcția pinMode () este apelată în schiță. care pune contactul în modul OUTPUT.







Deci, să începem să transformăm schița într-o bibliotecă!

Pentru biblioteca va avea nevoie de cel puțin două fișiere: un fișier antet (cu extensia «* .h») și fișierul sursă (cu extensia «* Cpp»). Fișierul antetului conține o listă de concepte de bază, adică Lista a tot ceea ce se află în interiorul bibliotecii. Codul în sine este în interiorul fișierului sursă. Dăm bibliotecii noastre numele "Morse". astfel încât fișierul antetului nostru va fi numit "Morse.h".

Să aruncăm o privire la el înăuntru. La prima vedere, conținutul său poate părea ciudat, dar veți înțelege când ne uităm în interiorul fișierului sursă.







"Miezul" fișierului antet constă dintr-o listă de funcții și variabilele necesare (o linie / variabilă este o funcție), "înfășurată" în clasă:

emite semnale morse # 40; int pin # 41; ;

void dot # 40; # 41; ;

void dash # 40; # 41; ;

int _pin;

O clasă este pur și simplu o colecție de funcții și variabile stocate într-un singur loc. Aceste funcții și variabile pot fi publice ("publice" pot fi folosite în interiorul oricărei funcții) sau private ("privat" pot fi folosite doar în interiorul clasei). Fiecare clasă are o funcție special constructor care este folosit pentru a instanțiat clasa. Constructorul are același nume ca și clasa, dar nu întoarce nimic.

Cu toate acestea, conținutul fișierului antet nu se termină aici. În primul rând, trebuie să includeți directiva #include. care permite accesul la tipurile și constantele standard ale limbii Arduino (se adaugă automat schițelor obișnuite, dar nu și bibliotecilor). Se arată astfel (și este plasat deasupra blocului cu clasa, care a fost scris mai sus):

În al doilea rând, întregul fișier antet ar trebui să fie înfășurat într-o construcție foarte ciudată:

#ifndef Morse_h
# definește Morse_h

// se scrie aici directiva #include și codul.

Acest lucru este conceput pentru a preveni problemele care pot apărea dacă cineva conectează accidental (#include) biblioteca dvs. de două ori.

Să aruncăm o privire la modul în care va arăta fișierul antet:

Morse.h - Biblioteca pentru codul Morse pe LED-uri.

Creat de David A. Mellis (David A. Mellis)







Articole similare

Trimiteți-le prietenilor: