Я пытаюсь скопировать значение 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);
Почему значение не копируется?