Jak v C zachazet hromadne s porty?

Pavel Kutina hw na prelude.cz
Pátek Duben 13 14:55:09 CEST 2018


Zdravim,

mam takovy zadrhel, a protoze nejsem Cckar, asi mi neco duleziteho unika.

Mam ATmega128 (s arduinovskym bootloaderem a cele to pisu na Arduinu, 
ale to je pro tenhle ucel asi jedno), na ni pouzivam skupinu pinu, se 
kterymi bych chtel zachazet nejak hromadne - potrebuju nastavit 
sestnactibitove cislo, co bit, to jeden pin. Piny jsou ale rozhezeny 
pomerne nahodne, prakticky nikde nemuzu pouzit cely port, takze neco 
jednoducheho, jako PORTA = 0x45; PORTB = 0xDE; neprojde, protoze nemam 
cely PORTA ani PORTB a doplnuji to dalsimi piny z jinych portu.

Poteboval bych tedy vytvorit nejake 'cosi', k cemu se budu chovat jako k 
sestnactibitovemu portu, tedy tak, abych mohl pouzit konstrukci jako 
PORTQ = 0xDE45;, to cislo inkrementovat, porovnavat atd. Docela dost by 
mi to zjednodusilo zivot dale v kodu :)

Napadaji mne ruzna reseni, jen jsou dosti krkolomna - predpokladam, ze 
zkuseny Cckar si ted klepe na hlavu a rika si "nadefinuj to jako NNN a 
nemusis nad tim premyslet" - ale ja nejsem zkuseny Cckar :)

Poradite figl?

Diky.

Pavel Kutina


Další informace o konferenci Hw-list