[elektro] Bit tömb xc16

hg12345 hg12345 at freemail.hu
Wed Jun 14 21:37:03 CEST 2017


HI!

Bit tömböt standard C-ben nem lehet definiálni! Főleg, hogy a uC nem támogatja, a legkisebb pointerrel hivatkozott méret a byte!

Persze van kivétel, a Cortex M3,4,7  bitbanding címzés, itt megoldható, de csak azért mert a uC támogatja, a bitenkénti elérést pointerrel egy speciálisan leképzett memória területen.

Ha nagyon nagy szükség van erre, akkor függvényként kell kezelni.



"Balla Zoltán" <sdrlab at yandex.ru> írta:
>Sziasztok!
>
>Olyan tömböt szeretnék xc16 alatt definiálni, ami bit elemű. Mindezt 
>azért, mert kevés a memória a byte-os tömbhöz.
>
>Ezzel próbálkoztam, de valamiért nem bitenként lép az index, hanem 
>bájtonként:
>
>struct bitfield{
>     unsigned bit : 1;
>};
>struct bitfield *bitstream;
>u8 t[2];	- segéd tömb, amiben fizikailag tárolom a bit-tömböt
>---------------------
>bitstream=t;
>bitstream[1].bit=1;
>
>Ekkor én azt várnám, hogy a t tömb első bájtján belül a második bitet 
>címzi meg a program, de nem így történik.
>Mi lehet az oka ?
>
>Zoli
>
>-----------------------------------------
>          elektro[-flame|-etc]
>



More information about the Elektro mailing list