0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaProgramiranjeHarmonija razvoja in programiranja (3)

    Harmonija razvoja in programiranja (3)

    Microchip MPLAB Harmony je gotovo najpomembnejši programski okvir za vse tiste, ki se navdušujemo nad Microchipovimi mikrokontrolerji in digitalnimi procesorji. Je tudi pomemben vgradni del razvojnega okolja MPLAB X IDE, ki nekajkrat pohitri in poenostavi delo programerjev.

    Slike niV preteklem nadaljevanju smo videli, kako našo napravo povežemo preko USB kot HID. Videli smo kako dopolnimo pripravljeno objektno programsko kodo, da je zares uporabna in katere funkcije za podporo komunikaciji preko USB moramo sami implementirati. USB vseeno tako pomemben, zato mu je veljalo nameniti nekoliko več prostora.

    Vendar podpora za USB še zdaleč ni vse, kar zmore Harmonija. Tokrat bomo programirali vodilo I2C, ne da bi se morali spuščati na nivo registrov funkcijskih enot izbranega mikrokontrolerja.

    Nastavitev vmesnika I2C

    Lotili se bomo kar primera i2c_interrupt, ki ga najdemo v knjižnici Harmony 1.07 ali novejši v mapi <namestitvena mapa>appsexamplesperipherali2ci2c_interruptfirmware, ki vsebuje tri prednastavitve za razvojne plošče: z vtičnim modulom PIC32MX795, PIC32MZ EC Starter Kit with Media expansion board II in prihajajoči PIC32MZ Grachics (DA) Starter kit z Multimedia Expansion Board II (MEB II) s 5″ WVGA PCAP Display Board. Če bi se programiranja lotili od začetka, bi za izvedbo nastavitev uporabili Harmony configurator, tako pa le poglejmo kako ga prenastavimo za svoje razvojno okolje.

    Slike niSpomnimo, da na diagramu takta (angl. clock diagram) nastavljamo takt mikrokontrolerja glede na različne mikrokontrolerje pa tudi glede na različne vire takta. Na prvem zavihku, opcije, nastavimo predvsem lastnosti gonilnika za I2C. Harmony omogoča tudi uporabo več hkratnih instanc gonilnika, po eno za vsako enoto I2C v mikrokontrolerju. Število instanc nastavimo v glavi gonilnika, kjer nastavimo tudi tip gonilnika. Statični gonilniki so takoj pripravljeni za delovanje, dinamični pa se naložijo v RAM ob prvi uporabi. V vsaki instanci nastavimo osnovne lastnosti, kot so: identifikacijska oznaka za povezavo z drugimi implementacijami gonilnikov v Harmony, način delovanja (gospodar ali suženj), hitrost prenosa podatkov v Hz ter prednost (angl. priority) in podprednost (angl. sub-priority) pri proženju prekinite in delovanje ali nedelovanje v različnih stanjih mikrokontrolerja (deluje vedno, ne deluje med spanjem itn.).

    Na diagramu priključkov (angl. pin diagram) nastavimo preslikavo ena ali več enot I2C na izhodne priključke mikrokontrolerja pa tudi ostale preslikave. Naši primeri so prilagojeni različnim razvojnim ploščam. Zato izkoriščajo tudi priključke, na katere so povezane LED diode, ki jih uporabljajo za indikacijo. V lastni aplikaciji jih lahko izpustimo. Vendar moramo potem zakomentirati tudi ustrezna dele kode. Zadnji zavihek, nastavitev priključkov (angl. pin settings) omogoča, da izbranim priključkom določimo še podrobne funkcionalnosti: ali bodo analogni ali digitalni, bodo imeli odprt kolektor, upornost, vezano na maso, ali upornost vezano napajanje, …

    Programiranje vmesnika I2C

    Harmony nam že vnaprej pripravi skeletno kodo, v katero moramo vnesti še programsko kodo, s katero podpremo delovanje želenih funkcionalnosti aplikacije. Samodejno izdelana koda iz Harmony Configuratorja se nahaja v datotekah main.c, app.c, app.h ter ostalih datotekah v razdelkih Header files (datoteke glav z definicijami struktur za izvorno kodo) ter Source files (datoteke z izvorno kodo). V razdelku za programski paket za podporo delovanju izbrane razvojne plošče (angl. board support package), je koda, ki je pred-pripravljena, če smo v Harmony Configuratorju izbrali opcijo BSP. Omogoča proženje posameznih strojnih funkcionalnosti, ki jih ima določena razvojna plošča.

    Celotni članek

    Harmonija razvoja in programiranja (3)

    www.svet-el.si

    2016_SE246_30