bitfield v avr-gcc

Andrej Jancura hw_aj@zoznam.sk
Pondělí Červen 16 19:01:14 CEST 2008


> Pricina pouzit pointer na bitfield je presne ten isty ako
> pricina pouzivat pointre na funkcie. Ak najdes argumenty na
> jedno, mas presne tie iste argumenty aj na to druhe.
>
> Pointa je v moznosti odovzdavat si polohu (prip. aj
> velkost) manipulovaneho bitu/pola z bitfieldu ako
> parameter, ci uz je to na dialku alebo priamo v programe.


No nie celkom. Pointer v C je priamo adresa do kodovej (pre funkcie) alebo 
datovej (premenne) pamati. Pointer predany do ineho systemu (toto rozumiem 
pod pojmom na dialku) Ti je nanic. Ked chces inemu systemu povedat, aby si 
vykonal nejaku funkciu, tak mu to musis oznamit inac, ako predanim pointra.

Asi tu dochadza k nedorozumeniu pri vyraze pointer. Tebe ide skor o offset 
bytu a bitu od zaciatku bitoveho pola. To len pre poriadok, nie ze by toto 
vedelo C riesit priamo syntaxou/prostriedkami jazyka..

Pripadne by si chcel nieco, ako je bitova adresa priamo adresovatelnych 
bitov v '51. No toto nie je vecou jazyka, ale architektury.
------------

Tiez si myslim, ze chce asi toto. To je deformacia z x51. Na AVR, pripadne 
inych mcu si to musis napisat sam. Pretoze tam mas adresu bytu a cislo 
pripadne skupinu bitov, ktore menis. Napisat si taku funkciu by nemal byt 
problem. Potrebujes nasobenie a pricitanie, pripadne delenie modulo 8 a 
zvysok.

A.




Další informace o konferenci Hw-list