Я изучаю, как создавать сложные типы данных в AUTOSAR. Я искал указанную ниже проблему, но не нашел ни одной, которая показала бы мне путь с хорошей ясностью.
Я хотел бы создать IRV в таком виде:
union {
uint8 u8Value;
struct {
uint8 bit0 : 1;
uint8 bit1 : 1;
...
}stMyBits;
}unMyUnion;
Основываясь на моем собственном исследовании, я нашел в SW Data Prop Ref то, что называется SwBitsRepresentation, где вы можете указать начальную позицию и количество битов. Однако это не сработало, потому что код, сгенерированный RTE, выглядел так:
union {
uint8 u8Value;
struct {
uint8 bit0;
uint8 bit1;
...
}stMyBits;
}unMyUnion;
Компиляция этого определенно НЕ применит желаемые битовые поля.