Jak v C zachazet hromadne s porty?
Jindroush
jindroush na seznam.cz
Pátek Duben 13 15:06:56 CEST 2018
Dobrej,
nenapada me figl. Proste si udelam funkci/inline fci/makro myportwrite,
kde si provedu ten prevod bitu na ty spravne bity realnych portu.
Pokud se to cislo da z tech pinu cist, tak si udelam myportread. Pokud
se cist neda, musim si na to zalozit globalni promennou.
A zbytek si uz slozim.
J.
On 13.4.2018 14:55, Pavel Kutina wrote:
> 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 :)
--
Jindroush <jindroush at seznam.cz>
Další informace o konferenci Hw-list