这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 枚举enum的使用

共1条 1/1 1 跳转至

枚举enum的使用

菜鸟
2018-11-28 22:18:35     打赏
枚举和结构体是两个很好用编程语法,下面是三个枚举的使用方法。
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;

个人比较喜欢第三种方式。
另外就是在使用过程中,遇到这样一个情况。
要列举出系统错误类型。

枚举1.jpg

这是没有加进去的编译结果data=82.1, xdata=159,code=4452

枚举2.jpg

加进去编译结果data=82.1, xdata=164,code=4460

枚举3.jpg

定义枚举类型的系统错误类型编译后data=82.1, xdata=164,code=4460竟然没有变化。

枚举4.jpg

定义一个枚举系统错误类型的变量。data=82.1, xdata=165,code=4460仅仅xdata+1;

枚举5.jpg

给变量赋值。data=82.1, xdata=165,code=4465这时code+5编译器把错误类型都加入了code中。


从上面看出定义错误类型的种类用枚举方式比const数组要省RAM啊!





关键词: 枚举     使用    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]