Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno FRDM-KL26Z - ovládání GPIO z HAL vrstvy

Zdravím. Jsem v tomto docela začátečník. Potřeboval bych ovládat GPIO piny na této desce pomocí funkcí z HAL vrstvy. Nad touto vrstvou se později bude implementovat abstraktnější vrstva. Kde prosím zjistím, jaký je vztah mezi čísly pinů a portů předávaných funkcím a skutečnými piny? A co je všechno potřeba udělat pro zprovoznění?

Např. funkce GPIO_HAL_SetPinDir(GPIOA, 1, kGpioDigitalOutput); by měla nastavit GPIO pin 1 na portu A (to je určeno tou base adresou GPIOA) na výstupní.
Dále GPIO_HAL_SetPinOutput(GPIOA, 1); nastaví pin 1 do log. 1. Tyto dvě funkce mám v mainu, za nimi následuje nekonečná smyčka. Přeložit a spustit to jde, ale na pinu naměřím vždy nějaké milivolty.

Prostě si nejsem pořádně jistý co dělám. Předpokládal jsem, že k té desce bude obsáhlý manuál, ale jsou tam spíš takové přehledy. Nebo ho neumím najít. Jediný rozumný manuál mám k SDK od Freescalu (tam jsou popsané všechny funkce k HAL).

K desce sice existuje helloworld demo, které rozbliká ledku, ale to nepoužívá HAL vrstvu.

Klidně uvítám odpověd typu děláš to celé blbě, musíš začat tak a tak. :-)

Díky

Předmět Autor Datum
Tie piny procesora budu zrejme oznacene ako A1, A2, ..., B1, B2, ..., alebo ak nie tak v datasheete…
MM.. 07.12.2015 20:19
MM..
Jo a este GPIO su typicky multifunkcne, a nejakym registrom sa voli ich funkcia. Ked si pozrem http:…
MM.. 07.12.2015 20:26
MM..
Děkuji. Zkoušel jsem nastavovat PTA1 pin. A teď vidím v tabulce, že po resetu je DISABLED? Takže nut…
Niko Bellic 07.12.2015 20:52
Niko Bellic
Ja som to cele nestudoval, ale mas tam vsetky tabulky na roznych miestach v tych dokumentoch (na TVO… poslední
MM.. 07.12.2015 23:04
MM..
Na tom tvojom linku mas sekciu Documentation - User Guides, a tam je "FRDM-KL26Z User’s Guide (REV 0…
MM.. 07.12.2015 20:32
MM..

Tie piny procesora budu zrejme oznacene ako A1, A2, ..., B1, B2, ..., alebo ak nie tak v datasheete k tomu CPU bude urcite napisane ze ktory pin patri do ktorej skupiny a jak to je cislovane v tych registroch do skupin apod.
Dalsia vec je ze ci tam mas nastavene push pull alebo nejake open collector a podobne srandy, zavisi od CPU a jeho registrov (nepoznam ten tvoj CPU).
A dalsia vec je ze ci ten gpio ovladac v tom OS vobec funguje a je spravny pre ten chip :)

P.S: vztah medzi registrom CPU a pinom je v datasheete CPU, a vztah medzi parametrami nejakej fcie a registrami CPU zavisi od tej funkcie resp. ovladaca kam to leze.

Jo a este GPIO su typicky multifunkcne, a nejakym registrom sa voli ich funkcia.
Ked si pozrem http://www.mouser.de/ProductDetail/Freescale-Semic onductor/MKL26Z128VLH4/?qs=RnZx02BLotILh9G1vqGXfQ% 3d%3d datasheet tak u pinoutu vidim piny PTA0, PTA1, atd to budu zrejme GPIO port A 0, atd., a dalej v tabulke vidis ich alternativne funkcie. GPIO to je len vtedy ked to je prepnute na funkciu ALT1, vidiet z tabulky.
V datasheete neni popis registrov musis si hladat nejaky programming manual apod k tomu CPU.

P.S. a musis mat samozrejme schemu tej dosky alebo aspon ze ktory pin CPU ide na ten pin dosky ktory meras.

Ja som to cele nestudoval, ale mas tam vsetky tabulky na roznych miestach v tych dokumentoch (na TVOJOM linku). Bud ti tie tvoje HAL funkcie poskytuju moznost aj nastavit tam spravnu alternativnu funkciu (a nastav si tam spravnu), alebo budes muset liezt rovno na registre CPU (na to potrebujes najprv dokument k CPU), alebo pouzi iny pin :-)

Na tom tvojom linku mas sekciu Documentation - User Guides, a tam je "FRDM-KL26Z User’s Guide (REV 0)" a v tom je dokument pinout a aj users guide kde je aj popis pinov atd, vidis tam ze ktory pin je PTAcislo, PTBcislo apod., z toho vies ci port a alebo b a cislo. A aj ich multifunkcne moznosti su tam kdesi popisasne

Zpět do poradny Odpovědět na původní otázku Nahoru