pointery C

Miroslav Draxal evik na volny.cz
Úterý Květen 21 14:46:27 CEST 2013


Je to pro pic, hitech 9,80. 

Zarovnáno pěkně za sebou, unsigned jsou vlastně bity

 

From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On
Behalf Of Jaroslav Buchta
Sent: Tuesday, May 21, 2013 1:36 PM
To: HW-news
Subject: Re: pointery C

 

Jaky ENDIAN? Jak velky je unsigned? Podival bych se na vypis pameti u te
promenne, muze to byt zarovnano ruzne...

Dne 21. 5. 2013 13:29, Miroslav Draxal napsal(a):

Dobrý den,

Toto je pokračování vlákna" C _ jak rozepsat řádek". Bylo zpřetrháno, tak
proto nově.

 

Opět ukazatele. Mocný nástroj, ale složitý!!!

 

typedef union {

    char value;

 

    struct {

               unsigned Bit0 : 1;

               unsigned Bit1 : 1;

               unsigned Bit2 : 1;

               unsigned Bit3 : 1;

               unsigned Bit4 : 1;

               unsigned Bit5 : 1;

               unsigned Bit6 : 1;

               unsigned Bit7 : 1;

    } Bits;

 

    struct {

               unsigned cas : 7;

               unsigned bit_PROLNpauza : 1; // set = prolnutí

    } ProlnutiPauza;

 

    struct {

               unsigned Mesic : 5;

               unsigned AutoOnOff : 1;

               unsigned EndProgram : 1;

    };

} _ProgramEEprom;

 

_ProgramEEprom ProgramRAM[PocetProgEEprom][DelkaProgEEprom]

 

char *pTest

 

               pTest = &ProgramRAM[Program][RAM_AutoMesic].value;
// na adrese D0 je 0x0B

               tmp =(*((_ProgramEEprom*)*pTest)).value;
// načte 1 - chyba

               tmp = *pTest;
// načte 0x0B - ok

 

Je problém s 

tmp =(*((_ProgramEEprom*)*pTest)).value;// načte 1

tmp =(*((_ProgramEEprom*)*pTest)).mesic;// načte taky 1

 

ale načítat by měl 0x0B. Co mi zase uniká? Míra



__________ Informace od ESET NOD32 Antivirus, verze databaze 8355 (20130520)
__________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz





_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list




__________ Informace od ESET NOD32 Antivirus, verze databaze 8357 (20130521)
__________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz



__________ Informace od ESET NOD32 Antivirus, verze databaze 8357 (20130521)
__________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20130521/fb936492/attachment.htm>


Další informace o konferenci Hw-list