RE: pole bitového pole v C

Miroslav Draxal evik na volny.cz
Sobota Leden 12 21:34:25 CET 2013


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

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


Další informace o konferenci Hw-list