[an error occurred while processing this directive]
|
по моему ты не до конца понимаешь что такое union
у тебя создаётся структра данных размером в 1 байт. когда пишется
TWI_statusReg.all = 0
вся переменная обнуляется а по lastTransOK и unusedBits осужествляется доступ к отдельным битам (lastTransOK-один младший бит, unusedBits - старшие 7 битов, или наоборот, точно не помню). то есть и структура и переменная all лежит в одной области памяти.
а вобще зря ты юзаешь битовые поля, битовый операции (|,&,<<) рулят
я бы лично написал так:
unsigned char TWI_status_reg =0;
.
.
.
TWI_status_reg =0;
.
.
TWI_status_reg |= '\x01';
.
.
if(TWI_status_reg & '\x01'){}
.
.
E-mail: info@telesys.ru