В исходном коде, который зашит в устройство есть такая структура:
__packed struct {
uint32_t Sec : 6 ;
uint32_t Min : 6 ;
uint32_t Hour : 5 ;
uint32_t Date : 5 ;
uint32_t Month : 4 ;
uint8_t Year : 7 ;
uint8_t TimeInvalid : 1 ;
} Time ;
Данная структура помещается в массив из 5 байт. Как обработать эту структуру на C#? Проблема в том, что поля структуры не разделены по отдельным байтам. Есть ли возможность создать структуры с полями, у которых указан размер в битах? И как создать структуру из массива байтов?
C# нативно не поддерживает битовые поля. Придется делать структуру(или массив) из пяти байт. И работать с ними в ручную. Либо использовать разные хаки
Вот как можно описать структуру:
[StructLayout(LayoutKind.Sequential, Pack=0)]
struct ExampleStruct
{
public byte b1;
public byte b2;
public byte b3;
public byte b4;
public byte b5;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Появился ооочень странный наполовину плавающий баг с мусорными строками
Столкнулся с данной проблемой при передачи функции из одной формы в другуюКак её решить?
Перешел на новый риббонПрикрепляю картинки на элементы интерфейса, но они отображаются только в запущенном приложении
Можно ли как-то в c# запустить процесс в процессе без создания нового процесса?