Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Понедельник
21 апреля
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
902957
Топик полностью
fk0
легенда
(10.02.2019 19:07, просмотров: 212)
ответил
evgeniy1294
на
Я использую union, в котором комбинируют битовое поле и соответствующую ему по размеру беззнаковую переменную.
В этом никакого особого смыла нет вообще. Вместо smth1.val = smth2.val можно писать smth1 = smth2. Или memcpy. A других применений "альтернативного" представления -- нет. За залезание руками в val -- нужно руки отрубать, ибо говнокодище.
[ZX]
Ответить
Да ну. А если мне нужно задать значение всем ногам порта GPIO, причем одновременно? smth.val = mask, и все. Это просто пример.
evgeniy1294
(280 знак., 10.02.2019 21:40
)
А при использовании другого компилятора расположение битов в val -- другое. Вот это и есть типичный говнокод. Могли бы просто порт маской задавать (которую OR'ить или AND'ить) и работало бы с любым компилятором.
-
fk0
(10.02.2019 22:22
)