0
我有這樣定義的多種選擇菜單:的Kconfig和C枚舉
menu "Audio"
choice
prompt "Select Audio Output"
default I2S
help
This option selects the audio output.
config AUDIO_OUTPUT_MODE_I2S
bool "Generic I2S"
config AUDIO_OUTPUT_MODE_I2S_MERUS
bool "Merus Audio I2S"
config AUDIO_OUTPUT_MODE_DAC_BUILT_IN
bool "Built-In DAC"
endchoice
config AUDIO_OUTPUT_MODE
string
default I2S
default I2S if AUDIO_OUTPUT_MODE_I2S
default I2S_MERUS if AUDIO_OUTPUT_MODE_I2S_MERUS
default DAC_BUILT_IN if AUDIO_OUTPUT_MODE_DAC_BUILT_IN
config DAC_BUG_WORKAROUND
bool "Activate workaround when using Built-In DAC"
endmenu
我想選擇映射到一個枚舉,但只的Kconfig具有三態和字符串類型,所以我不能這樣做,因爲AUDIO_OUTPUT_MODE的值是一個字符串,而不是字面:
my_enum = AUDIO_OUTPUT_MODE;
使用INT直接會的工作,但有一個清潔的解決方案?
這是一個有趣的技巧,我不知道我想介紹一個額外的耦合與我的枚舉,雖然。 我用int值取而代之。 –