Jump to content

Битовое поле, Union и проблема... 10 бит


gidrontium
 Share

Recommended Posts

Posted (edited)

Приветствую!

Сразу суть: испоьзую такую структуру/объединение

union errbyte{
struct error_status {
    unsigned bit0_Tank_Empty:1;
    unsigned bit1_Tank_Sens_Min:1;
    unsigned bit2_Tank_Sens_Max:1;
    unsigned bit3_Tank_Filling_Valve_Not_Set:1; 
    unsigned bit4_Tank_Auto_Filling_Off:1; 
    unsigned bit5_Mode_1_Valve_Not_Set:1;
    unsigned bit6_Mode_2_Valve_Not_Set:1;
    unsigned bit7_Mode_3_Valve_Not_Set:1;
    unsigned bit8_Mode_4_Valve_Not_Set:1;
    unsigned bit9_Flash_Setting_Error:1;
    unsigned bit10_M1_4_Timeout;
    unsigned bit11_Mode_5_Valve_Not_Set:1;
    unsigned bit12_Mode_6_Valve_Not_Set:1;
    unsigned bit13_Mode_7_Valve_Not_Set:1;
    unsigned bit14:1;
    unsigned bit15:1;
}error_bits;
uint8_t error_bitfield_8[2];
uint16_t error_bitfield_16;
};

В error_bitfield_16 записывается в два байта вся структура, в error_bitfield_8 соотвественно побайтно. error_bitfield_8 опустим.

Так вот в чём проблема, если выставляется бит 9, то error_bitfield_16=0x0200, сброс error_bitfield_16 в 0 соответственно сбарсывает бит 9 тоже в 0 (всё ОК).

Идём далее...

А если выставляется бит 10 и выше, то error_bitfield_16 = 0 (error_bitfield_8 тоже по нулям). В чём может быть дело?

Спойлер

image.png.386987c99f6efda5a54e0af601a0f5df.png

Спойлер

image.png.13ec0f674204b0ac40d62ed792ebb98a.png

 

Edited by gidrontium
Убрал под спойлеры
Link to comment
Share on other sites

LIR-20 – модуль резервирования питания от MORNSUN
Компания MORNSUN расширила линейку продукции, монтируемой на DIN-рейку, выпустив модуль резервирования питания LIR-20 с максимальным током до 20 А на канал. Модуль можно использовать на шинах с напряжением 24 или 48 В (полный диапазон напряжения 22…60 В). Данный модуль применяется в системах, где даже выход из строя источника питания (ИП) не должен привести к потере напряжения. К модулю резервирования подключаются два источника питания, причем один из них может быть бесперебойным (ИБП; UPS), и нагрузка.

Читать подробнее >>

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Сообщения

    • Ремонтируют  радиомеханики, инженеры текущими ремонтами не занимаются.  
    • Бывает что и хороший инженер может оказаться плохим техником, типа светлая голова при кривых руках.  И зачастую, техник хорошо меняющий неисправные микросхемы - банально хорошо надрессирован-натренирован, типа может заменить М\С которую ему показали, а чтоб ему самому определить какая МС дешевит - ему не смочь, типа смотрит в схему.... смотрит в книгу - видит фигу. С уважением, Сергей.
    • Мои халявные аккумы формата ААА от комплектов раций. Первое - визуальная отбраковка, типа "мятые и кислые" (с механическими повреждениями и со следами окислов/протечек).  Далее заряжал через штатную зарядку с последующей проверкой на нагрузочную способность, но быстро понял, что это как воду решетом носить, типа в час по чайной ложке... У знакомого взял умную зарядку (зашита функция тренировки - разряд/заряд, и по результатам выставляет типа "годность" в % ... ), с этой зарядкой удалось реанимировать (с нагрузочной способностью 50% и выше) несколько аккумов, остальные 90-95% ушли в утилизацию (заморозка для таки аккумов что смертельный приговор). С уважением, Сергей.  
    • И задержки выключения не будет. Эта схема вообще никак не влияет на срабатывание ЭМ привода.  А вот если включить в разрыв указанной цепи, допустим, резистор, то будет задержка включения. Номинал балласта придётся подобрать экспериментально или рассчитать, измерив минимальный ток срабатывания расцепителя. На рассеиваемой мощности балласта можно сэкономить, т.к. работает он кратковременно.
    • PS к тестеру для проверки ОУ. Оказалось, TL072 (или его подделка) таки живой. Но, с ним всё равно не работает Пират. Существенное отличие NE5532 от TL072 при тестировании в том, что когда у NE два светодиода в одном плече тухнут одновременно то в другом плече загораются тоже оба одновременно. Т.е. напряжение смещения на входах ОУ практически 0 V. У TL072 - сначала тухнет/загорается светодиод в одном плече, а потом (при дальнейшем вращении резистора R8) - в другом плече. Т.е. смещения на входах ОУ есть. Не знаю на сколько это важно, но, на всякий случай, делюсь этим наблюдением.
    • странный вопрос , что мешает скачать даташиты с тырнета и проверить согласно описания? HC237 - обычный демультиплексор 3 на 8 I7662 - ICL7662 DC/DC преобразователь , формирует отрицательное напряжения для ОУ IL410 это вообще обычная смисторная оптопара с зеро-кроссом.   можно, проверить условия запуска осликом, и наличие смены напряжения на выходах, можно засунуть в програматор и проверить возможность чтения  бита конфига, а вообще убить ОТРку от мелкотельных это надо очень постараться.
    • Не зная, как должен работать прибор, не зная назначение и параметры выходных сигналов, не зная, что должно быть подключено к имеющимся на этой плате разъёмам, "ремонт" не имеет абсолютно никакого смысла. Да вы и сами это понимаете. И даже если вы, перебрав все элементы, наткнётесь на какой-то неисправный и замените, то никакого вклада в ваше "общее развитие" это всё равно не принесёт. Ну разве что приобретёте навык долго, бессмысленно и бесполезно трудиться. Прошивка в контроллере конечно есть (по крайней мере была), считать вы её не сможете.
×
×
  • Create New...