我正在尝试将设备注册为枚举。从寄存器读取有 2 个值 -> 0 表示完成,1 表示待处理。同样,写入寄存器有 2 个值 -> 0 没有动作,1 进行复位。所以,我写了下面的代码
type Soft_Reset is (Done, Pending, No_Action, Reset);
for Soft_Reset use
(Done => 0,
Pending => 1,
No_Action => 0,
Reset => 1);
但这会引发错误
gcc-4.6 -c -g -gnatg -ggdb -I- -gnatA /home/sid/tmp/device.adb
device.ads:93:20: enumeration value for "No_Action" not ordered
gnatmake: "/home/sid/tmp/device.adb" compilation error
枚举是否有可能具有重复值?