Jak v C zachazet hromadne s porty?
Jan Waclawek
konfera na efton.sk
Pátek Duben 13 15:57:43 CEST 2018
Inak toto
> to cislo inkrementovat
Tak to zrejme nepojde ani v tom C++ - teda bez toho pretazenia operatorov,
co je neprakticke len preto, lebo pre "ciste" riesenie by bolo treba
pretazit uplne vsetky.
Ale co by pravdepodobne slo a bolo by ako riesenie elegantne je ponorit sa
do prekladaca - gcc je open source, vsakano - a implementovat to tam, ako
akusi "vynimku". Napokon, v avr-gcc take vynimky uz existuju (napr. pre
spravny postup pri pristupe k 16-bitovym SFR registrom, kde zalezi na
poradi pristupu, ako je to u timerov).
... ked uz je ten piatok...
wek
----- Original Message ---------------
>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