[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