pole bitového pole v C

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Sobota Leden 12 21:44:08 CET 2013


Ja proste na tyhle prevody jdu pres ukazatele, takze bych to udelal zase 
takhle (nezkouseno)

VentilSet (*((_SetBitPole*)&TMP));

Proste se vezme adresa promenne TMP operatorem &, ukazatel na cokoli  
jde pretypovat na ukazatel na cokoli jineho, cili i na union a pak se 
operatorem dereference * zase ziska objekt na odkazovane adrese (uz 
pretypovany). Mozna to jde i jednoduseji, ale ja takhle prevadim i typy 
z neznaminkovych na znamenkove, napr. v komunikacnich paketech, kdyz 
UINT uvnitr obsahuje hodnotu se znamenkem, napr.: float fTempSecIn = 
(float)*(short*)&ProcImgRO.r.tempSecInp100;


Dne 12.1.2013 21:34, Miroslav Draxal napsal(a):
> Re: pole bitového pole v C
>
> Hmm, přiznávám, že tomu nehovím, neumím to přečíst. Nic. Ráno se 
> k tomu vrátím, a budu se to snažit pochopit. Pro dnešek ještě jednu věc.
>
> Mějme podprogram
>
> void VentilSet (_SetBitPole CisloVentilu)
>
> kde
>
> typedef union {
>
> char value;
>
> struct {
>
> unsigned CisloBitu : 6;
>
> unsigned SetClr : 1;
>
> } bits;
>
> } _SetBitPole;
>
> Pokud budu mí char TMP
>
> Jak to dostanu do volání toho podprogramu.
>
> VentilSet(TMP)
>
> Stále se jedná o 1byt.
>
> Je mi jasné že na začátku vytvořit TMP jako _ SetBitPole
>
> Přetypování char na union nejde. Jak na to? Míra
>
> *From:*hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] 
> *On Behalf Of *Jaroslav Buchta
> *Sent:* Saturday, January 12, 2013 8:27 PM
> *To:* HW-news
> *Subject:* Re: pole bitového pole v C
>
> Takhle mi to AVR C sezere: (jeste jsem musel doplnit zavorky)
>
> char byt;
>
> typedef union bytX
>
> {
>
>     char value;
>
>     unsigned bit0 : 1;
>
> }_byt;
>
> int main (void)
> {
>
>     (*((_byt*)&byt)).bit0 = 1;
>
>
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 7887 
> (20130112) __________
>
> 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/20130112/e4be3186/attachment.htm>


Další informace o konferenci Hw-list