enum SYSERROR
{
TIME_OUT = 1,
LOW_BAT =2,
NO_ACK = 3
};// 如果要定义一个枚举的变量可以这样
enum SYSERROR SysError;// 也可以在枚举的时候创建一个相应的枚举变量
enum SYSERROR
{
TIME_OUT = 1,
LOW_BAT =2,
NO_ACK = 3
}SysError;
// 这样就在枚举的同时创建了一个为SysError的变量// 还可以把这个枚举重定义
typedef enum
{
TIME_OUT = 1,
LOW_BAT =2,
NO_ACK = 3
}SysError_TypeDef;//创建一个枚举变量就可以这样
SysError_TypeDef SysError;
个人比较喜欢第三种方式。
另外就是在使用过程中,遇到这样一个情况。
要列举出系统错误类型。
这是没有加进去的编译结果data=82.1, xdata=159,code=4452
加进去编译结果data=82.1, xdata=164,code=4460
定义枚举类型的系统错误类型编译后data=82.1, xdata=164,code=4460竟然没有变化。
定义一个枚举系统错误类型的变量。data=82.1, xdata=165,code=4460仅仅xdata+1;
给变量赋值。data=82.1, xdata=165,code=4465这时code+5编译器把错误类型都加入了code中。
从上面看出定义错误类型的种类用枚举方式比const数组要省RAM啊!