В исходном коде, который зашит в устройство есть такая структура:
__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;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Появился ооочень странный наполовину плавающий баг с мусорными строками
Столкнулся с данной проблемой при передачи функции из одной формы в другуюКак её решить?
Перешел на новый риббонПрикрепляю картинки на элементы интерфейса, но они отображаются только в запущенном приложении
Можно ли как-то в c# запустить процесс в процессе без создания нового процесса?