Я пытаюсь указать адрес памяти в структуре:
typedef struct {
uint32_t dataAddress;
} response_struct;
на инициализированный массив:
uint8_t *msg = NULL;
msg = malloc(sizeof(uint8_t)*LEN);
printf("Init: \n");
for (i=0; i<LEN; i++) {
msg[i] = i;
printf("%d ", msg[i]);
}
, который правильно отображает его содержимое после назначения:
// case 1:
(response_struct_ptr->dataAddress) = (uint32_t) msg;
// or with case 2:
void assign_value_to_memory_address_given (uint8_t *msg, response_struct *response_struct_ptr) {
(response_struct_ptr->dataAddress) = (uint32_t) msg;
}
// e.g. assign_value_to_memory_address_given (msg, response_struct_ptr);
дисплей сталкивается с ошибкой сегментации (ядро сброшено)
for (i=0; i < LEN; i++) // message fixed at length 10
printf(" %x", ((uint8_t*) response_struct_ptr->dataAddress)[i]);
printf("\n");
Может кто-то указать, где может быть неправильно?Спасибо.