从值枚举到名称进行串联

时间:2019-06-15 11:19:21

标签: c enums

我有一个问题,我需要从它的值中找回枚举名称。 所以我在头文件中定义了以下内容:

#define ADDR_TO_SETTING(ADDR) setting_ ## ADDR

typedef struct
{
    uint8_t setting_ADDR_LOG_ACTIVE;
} Settings_t;

typedef enum
{
    ADDR_LOG_ACTIVE
} Settings_addr_e

现在我有了一个带有地址参数的函数,我想从该地址设置一个设置:

Settings_t curr_settings;

void Settings_set_value_uint8_t(Settings_addr_e addr, uint8_t val)
{
    curr_settings.ADDR_TO_SETTING(addr) = val;
}

那么我该如何将参数addr解析回ADDR_LOG_ACTIVE?

0 个答案:

没有答案