我有一个问题,我需要从它的值中找回枚举名称。 所以我在头文件中定义了以下内容:
#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?