pointery C
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Úterý Květen 21 15:38:35 CEST 2013
No nebudu to hledat ale rekl bych, ze pro ty bity se udela promenna
unsigned, cili asi 2 nebo 4Byty, ne? A tam se naskladaji od LSB (ale to
nevim jestli je pravidlem)
Kdyby se pouzilo unsigned char Bitx:1 ... tak by to asi bylo vsechno v
jednom bytu
A vubec ja radsi tato bitova pole nepouzivam, nektere prekladace to ani
moc efektivne neumi osetrit, jistejsi je udelat funkce na manipulaci a
ruzne pristupy do unionu.
Dne 21. 5. 2013 14:46, Miroslav Draxal napsal(a):
>
> 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 bywww.HW.cz <http://www.HW.cz>
>
> Hw-list na list.hw.cz <mailto: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
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20130521/f81a38f7/attachment-0001.htm>
Další informace o konferenci Hw-list