我正在尝试通过memcpy将enum的值复制到某个数组。在此之前,我将枚举的状态从0更改为1。然后将这个枚举值复制到我的数组中。我观察到状态发生了变化,但是该值未复制到数组中。 初始枚举值为0,即INIT_STATE,然后将其更改为DISASSOCIATE_STATE。
我的数组是data [9],其中0-7个字节是device_id,8个是tag_state。 状态是当标签和移动应用程序之间发生BLE通信时,我在nRF connect应用程序的自定义特征中给出1,状态应更改为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);
为什么不复制值?