ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 июля
1233283 Топик полностью
Aleksey_75 (21.08.2022 20:50, просмотров: 270) ответил SciFi на Код в студию! Как было и как хочется, чтобы стало.
Да какой там код )) Вот 

Раньше было было объявлено переменной uint32_t , расположение в памяти так

p0,p0,p0,p1,p1,p1,p1,p1, p1,p2,p2,p2,p2,p2,p3,p3, p3,p3,p4,p4,p4,p4,p4,p4, p4,p4,p4,p4,p4,p4,p4,p4

доступ через макрос (сдвиг с выделением).


Объявляем поле так

typedef struct

{

uint32_t p0:3;

uint32_t p1:6;

uint32_t p2:5;

uint32_t p3:4;

uint32_t p4:14;

}param_t;


в памяти получается так

p1,p1,p1,p1,p1,p0,p0,p0, p3,p3,p2,p2,p2,p2,p2,p1, p4,p4,p4,p4,p4,p4,p3,p3, p4,p4,p4,p4,p4,p4,p4,p4