pointery C
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Úterý Květen 21 15:43:54 CEST 2013
Jinak hlavni problem bude asi v tom, ze tahle *: "...)*p..." je navic,
pTest uz je pointer, ten se pretypuje na pointer na ten union,
dereference a pak tecka nebo by se asi dalo rovnou pouzit ->
Dne 21. 5. 2013 15:38, Jaroslav Buchta napsal(a):
> 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 bywww.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
> _______________________________________________
> 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/ce8474eb/attachment.htm>
Další informace o konferenci Hw-list