реклама на сайте
подробности

 
 
> Вопрос про вложенность структур и объеденений., union & struct в AVR GCC.
Igor_U
сообщение Dec 7 2005, 13:33
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 34
Регистрация: 2-10-05
Пользователь №: 9 141



Не работает программа вероятно из-за сложной конструкции. Хочу узнать - я облажался при описании конструкции, или для AVR GCC так писать нельзя?
В данном случае произвольно портится флаг ResultStruct.Status.Valve.Power. Из программы были убраны все обращения к этой структуре, кроме обращения к флагам. Программа заработала только после того, как union для флагов был вытащен из структуры. Но мне необходимо, чтобы флаги находились в структуре. Поэтому видимо придется работать с байтом через маски?

Код
struct
    {
    uint16_t VoltageOff;
    uint16_t CurrentOff;
    uint16_t VoltageOn;
    union
        {
        uint16_t Word;
        union
            {
            uint8_t Byte;
            struct
                {
                uint8_t Power:1;
                uint8_t On:1;
                uint8_t Full:1;
                };
            }Valve;
        union
            {
            uint8_t Byte;
            struct
                {
                uint8_t On:1;
                uint8_t Full:1;
                };
            }Ready;
        }Status;
    }ResultStruct;
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01339 секунд с 7
ELECTRONIX ©2004-2016