枚举
枚举和结构体是两个很好用编程语法,下面是三个枚举的使用方法。- 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啊!
希望看到的大神指点一下,理解的是否有问题。
回帖(1)
2018-2-7 12:54:20
学习了
学习了
举报
更多回帖