bitfield v avr-gcc
Dušan Slavětínský
dslav3@treeinfo.cz
Pondělí Červen 16 13:17:33 CEST 2008
Zdravím,
Nevim jestli je toto to prave orechove. Pro pristup k bitum v avr-gcc pouzivam nasledujici konstrukci.
/*
Nejdrive si pripravime pudu
*/
typedef struct _bit_struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
}bit_field;
#define BIT_FIELD(adr) (*((volatile bit_field*)(adr)))
/*
Potom nadefinujeme jednotlive pseudopromene
Napr:
*/
#define bMonochrome BIT_FIELD(_SFR_ADDR(PORTC)).bit0
#define bTransparent BIT_FIELD(_SFR_ADDR(PORTC)).bit1
/*
A potom muzeme pouzit nasledujici konstrukci
Napr:
*/
if(bMonochrome)
bTransparent = 0;
else
bTransparent = 1;
Dušan Slavětínský
> -----Original Message-----
> From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] On
> Behalf Of Jan Waclawek
> Sent: Monday, June 16, 2008 12:35 PM
> To: HW-news
> Subject: bitfield v avr-gcc
>
> Zdravim vsetkych,
>
> da sa v avr-gcc urobit nejaka forma pointra na polozku bitoveho pola,
> prip. zistit poradie bitu v ramci bitoveho pola?
>
> Ja viem ze cele bitove polia su do C dorobene dodatocne a cokolvek
> takehoto je priamo proti duchu standardu, ale v gcc je tych rozsireni
> aj tak uz dost, tak som si povedal, ze ci nie je aj taketo nieco...
>
> Dakujem
>
> wek
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list