在memcpy中访问枚举值

时间:2019-04-10 07:46:56

标签: c

我正在尝试通过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);

为什么不复制值?

0 个答案:

没有答案