Доступ к значению enum в memcpy - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь скопировать значение enum в какой-либо массив через memcpy. Перед этим я сделаю изменение состояния перечисления от 0 до 1. Затем я копирую это значение перечисления в мой массив. Я заметил, что есть изменение состояния, но значение не копируется в массив. Начальное значение enum равно 0, т.е. INIT_STATE, затем я изменяю значение на DISASSOCIATE_STATE.

Мой массив - это данные [9], где 0-7 байт - идентификатор_устройства, а 8 - тег_стат. Состояние - когда происходит связь BLE между тегом и мобильным приложением, я даю 1 в пользовательских характеристиках из приложения nRF connect, состояние должно измениться на DISASSOCIATE. Это происходит, что я могу проверить в случае переключения.

Итак, когда это изменится, я должен обновить состояние в массиве. Для этого я использую memcpy.

memcpy должен обновить состояние тега, то есть 8-й байт данных [9].

Мой список

typedef enum {
    INIT_STATE,
    DISASSOCIATE_STATE,
    ASSOCIATE_STATE,
    SET_CONFIG_STATE
}cmd_type;

Это определено в одном файле. Я обращаюсь к нему, используя состояние cmd_type; Это команда memcpy, которую я использую,

memcpy(data[8],state+1, 1);

Почему значение не копируется?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...