Cum de a face module PIC24

Pentru unii programatori care sunt utilizate pentru a scrie cod de program într-un singur fișier (sau include alte fișiere C #include directivă în C-fișier), cauzând dificultăți în proiectarea și conectarea modulelor independente, care sunt izolate din programul principal, și ar fi ușor transferate la alte proiecte. Aici voi descrie cum se face.

include o secțiune - fișierul antet din aceeași unitate este conectat la această unitate. Toate celelalte fișiere antet includ mai bine .h-fișier, deoarece Ei, printre procheo poate avea o descriere a tipurilor și constante care zagolovoynym fișier al modulului nostru poate fi utilizat.

definiții variabile Secțiunea - Aici definim variabilele utilizate de către modulul. Mai mult decât atât, pentru claritate, descrie mai întâi variabilele globale (cele a căror sferă de aplicare ar fi extins la alte unități), și apoi - local (de exemplu, cele care sunt accesate numai în cadrul acestui modul poate fi efectuată)

Secțiunea prototipuri locale funcții - Se descrie prototipurile tuturor funcțiilor locale ale modulului, adică, acele funcții care sunt utilizate în modul și sunt numite numai aceleași funcții ale modulului.

Descrierea modului de funcționare secțiunea - Această secțiune este deja parte operațională a codului, și anume, descrierea funcțiilor. Și pentru comoditate, este de dorit să urmeze, de asemenea, secvența: în primul rând, la nivel mondial, apoi locală.

Blocare a modulului - același h-fișier poate fi inclus în mai multe module, care includ, de asemenea, fișiere antet unul de altul. Astfel, se dovedește că, din punctul de vedere al fișierului compilator poate fi inclus într-un alt fișier de două sau de mai multe ori. Apoi vom vedea că toate tipurile și constante sunt, de asemenea, descrise de mai multe ori, ceea ce provoacă eroarea compilator (redefinire de constante suprascrie tipuri, etc.). Pentru a evita acest lucru, întregul fișier antet între paranteze # IFNDEF ... # endif. În cazul în care compilatorul vede că _NEW_MODULE_H constantă nu este definită, acesta include întregul fișier text în care, printre altele, și este definit printr-o _NEW_MODULE_H constantă. La repornirea compilatorul poate vedea deja fișierul pe care această constantă este inclus, și tot ce se încadrează între paranteze # IFNDEF ... # ENDIF, ele vor fi ignorate. . (Notă _NEW_MODULE_H numele constantă ar trebui să fie ei pentru fiecare modul este recomandat ca numele constanta de a lua numele de fișier în sufixul majuscule _H Nnaprimer Pentru a elimina confuzia și posibila repetare a numelor: în fișierul my_module.h definește constantele _MY_MODULE_H, în fișierul tastatură .. .h definesc _KEYBOARD_H constante etc.)

include o secțiune - module de antete aici sunt conectate utilizate de modulul nostru.

determinarea constantelor Secțiunea - constante determinate utilizate de către modulul (sau determinarea funcționării modulului). Aceste constante vor fi disponibile atât pentru modul și toate modulele cuprinzând acest fișier. Dacă unii au nevoie constantă de a ascunde (de exemplu, este utilizat numai în acest modul, și este posibil ca într-un modul de terță parte pentru a satisface constant cu același nume), definiția sa pot fi transferate în fișierul principal.

definiții de tip secțiune - este determinată de toate tipurile de date-modul specific.

Secțiunea defini variabile globale - variabile descrise aici, care vor fi accesibile din alte module. Trebuie remarcat faptul că în antetul variabilelor de fișiere sunt descrise cu calificativul obligatoriu extern.

Secțiunea prototipuri funcții globale - sunt descrise aici prototipuri funcționale, care sunt vizibile pentru alte module, astfel încât compilatorul stie cu ce parametrii lor pot fi numite.

secțiunea definiții macro - puteți descrie orice modul macro inerente.

Pentru a activa fișierele generate în proiectul dumneavoastră aveți nevoie să:

În IDE, adăugați la proiect ambele fișiere (new_module.c și new_module.h). Acesta poate fi limitat numai în B-fișier, dar pentru comoditatea spațiului de lucru (spațiul de lucru) este mai bine pentru a adăuga cele două. (De exemplu, în fișierele MPLAB adăugarea se face prin intermediul meniului: Project / adăuga fișiere la proiect).

În toate fișierele de proiect, care se presupune a utiliza funcțiile, tipurile, variabile, constante, sau macro-urile din noile fișiere, introduceți linia:

ordinea secțiunilor, descrierile de secvență din secțiuni nu sunt importante, desigur, în cazul în care comanda nu este rupt, un anumit standard Si (de exemplu, prototipul funcția ce va fi descris mai devreme în fișierul decât prima inversare la aceasta). În plus, în cazul în care descrierea va fi amestecat unele cu altele (de exemplu, la început sunt variabile, apoi prototipuri, și apoi din nou variabilele, etc.), este în regulă, cu excepția pentru pierderea de claritate, aceasta nu se va întâmpla.

Dacă este necesar, se adaugă altă secțiune (naprmer, uneori este necesar să se descrie mai multe constante în fișierul principal B).

Rețineți că, în secțiunea B a fișierului nu există nici o descriere a prototipurilor de funcții globale. spatele lor ar putea fi adăugate, dar se dovedește că acestea vor duplica pur și simplu prototipuri existente descrise în h-fișier (aici trebuie să fie, în caz contrar restul modulelor nu vor ști despre aceste caracteristici). Acest lucru este oarecum incomod, deoarece prin modificarea caietului de sarcini funcția de corecție în stadiul tehnicii trebuie să facă în două locuri.