[an error occurred while processing this directive]
по моему ты не до конца понимаешь что такое union
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено rt_const 28 октября 2005 г. 14:51
В ответ на: что такое Nucleus отправлено rt_const 28 октября 2005 г. 11:27

по моему ты не до конца понимаешь что такое 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: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru