V prejšnji številki revije Svet Elektronike smo v članku z naslovom »Prestavitev razvojne plošče in postavitev razvojnega okolja« predstavili osnovne informacije o razvojni ploščici STM32F4-Discovery, ki temelji na ARM Cortex-M4F arhitekturi mikrokrmilnika. Prav tako podamo informacije o izbranemu razvojnemu okolju CooCox, kjer lahko bralec dobi osnovne informacije o kreiranju novega projekta, namenjenega razvoju programov na predlagani razvojni plošči. Članek zaključimo s prvim programom, ki vklaplja in izklaplja LED diode, ki so nameščene na razvojni plošči, pri tem pa uporabimo ciklične programske zakasnitve.
Vklapljanje LED diod na izhodnih portih z uporabo časovnikov
V
tem članku bomo nadaljevali s spoznavanjem funkcij vgrajenih sistemov, in sicer se bomo spoznali z naslednjimi novimi elementi: vhodno/izhodni pin, prekinitev in časovnik. Dodatno k prejšnjemu programu, bomo pri tem uporabili LED diode na izhodnih pinih razvojne ploščice. Ker smo v prejšnjem članku nakazali problematiko nestanovitne zakasnitve, si bomo v tem primeru pomagali s časovnikom, ki je na tej razvojni plošči strojno ločen od jedra mikroprocesorja, torej nam zagotavlja dovolj natančno in točno uro. Prekinitev bomo uporabili za spremembo režima delovanja, in sicer bomo uporabili tipko, ki je nameščena na razvojno ploščo.
Priprava
V tem članku bomo na izhodnih pinov razvojne ploščice omogočili povezavo s svetlečimi LED diodami. V ta namen je dobro, da imate pri sebi kakšno testno ploščico, na katero lahko samo napikamo elemente in preverimo delovanje izhodnih pinov in z njim povezanega programa. Jaz sem v ta namen uporabil proto-ploščo, na katero sem s spajkalnikom prispajkal podnožje za razvojno ploščo STM32F4-Discovery, kakor tudi LED diode. Pri tem moramo upoštevati, da je napetost na izhodnem pinu ob logični enici malenkost manjša od 3 V (navadno se giblje med 2,85-2,95 V), zato je pri nekaterih LED diodah potrebno dodati še predupor (izmeri se padec napetosti, če ne obstajajo podatki o LED diodi). Slika 1 prikazuje proto-ploščo namenjeno razvijanju, ki jo bomo potrebovali pri nadaljnjem razvoju programov, kjer smo izbrali različne barve eksternih LED diod enakih barv, kot so prisotne na razvojni plošči. Slika 2 prikazuje bližji pogled zadnje strani proto-plošče in povezave LED diod na letvice.
Pri razvoju programov na mikrokrmilnikih je zelo dobra varianta uporaba digitalnega analizatorja, ki ga je na spletu mogoče dobiti za manj kot $10 [1]. Digitalni analizator ima podporo za večino standardnih prenosnih protokolov, in sicer UART, SPI, I2C, CAN, itd [2]. Posebnost tega analizatorja je v tem, da omogoča zajemanje signalov pri 24 MHz, na voljo ima 8 kanalov, kar je odlična ločljivost v tem cenovnem rangu. Programska oprema digitalnega analizatorja, vključno z gonilniki, je prosto na voljo na spletu [3]. Njegovo uporabo bomo spoznali v nadaljevanju tega članka.
Vhodno-izhodni pini
STM32F4 mikrokrmilniki so kompleksni sistemi z bogato paleto periferije. Vendar preden lahko uporabimo katero koli komponento periferije, moramo le-to tudi pravilno konfigurirati. Nekaj te konfiguracije je splošne (npr. distribucija ure in konfiguracija pinov), medtem ko je ostala konfiguracija odvisna od tipa periferije.
Osnovni koraki pri inicializaciji STM32F4 periferije so:
- Omogočitev ure za izbrano periferijo
- Konfiguriranje pinov, ki so vezani na periferijo
- Konfiguriranje periferne strojne opreme.
STM32F4-Discovery ima na sami razvojni ploščici nameščene štiri uporabniške diode, ki so povezane na izhodne pine PD12-PD15 in jih lahko konfiguriramo povsem enako kot vse preostale pine. Eksterne LED diode, ki smo jih sami priključili na izhodne pine, se nahajajo na naslovih PE2-PE6. Kako se omogočijo uporabniške diode na razvojni plošči, smo spoznali v prejšnji številki, eksternim LED diodam moramo najprej omogočiti uro na portu E, in sicer to napravimo s sledečim klicem iz STM32Fxx knjižnice.
STM32F4-Discovery – Od začetnika do poznavalca (2)
2013_SE211_45