枚举类型的应用

1.利用枚举类型定义函数

   

typedef enum state{    

    ERROR,

    OK,

    DEFOUT

}Staute;

 

Staute parity_char(int num);

int main()

{

    int num;

    int mycount;

    printf("Please enter a num:");

    scanf("%d",&num);

    mycount = parity_char(num);

    if(mycount == OK)

    {

        printf("success\n");

    }

    if(mycount == ERROR)

    {

        printf("failed\n");

    }

 

    return 0;

}

Staute parity_char(int num)

{

    if(num == 0)

    {

        return OK;

    }

    else{

        return ERROR;

    }   

}

2.利用枚举类型作为函数形参

int test(Status m)

{

 switch(m)

case ERROR:

.....

break;

case OK:

.....

break;

}

int main(void)

{

Status w;

test(w);

}

在stm32库中经常有结构体和枚举类型的联合应用

typedef enum
{ GPIO_Mode_AIN = 0x0,
  GPIO_Mode_IN_FLOATING = 0x04,
  GPIO_Mode_IPD = 0x28,
  GPIO_Mode_IPU = 0x48,
  GPIO_Mode_Out_OD = 0x14,
  GPIO_Mode_Out_PP = 0x10,
  GPIO_Mode_AF_OD = 0x1C,
  GPIO_Mode_AF_PP = 0x18
}GPIOMode_TypeDef;

typedef struct
{
  uint16_t GPIO_Pin;              
  GPIOMode_TypeDef GPIO_Mode;    
}GPIO_InitTypeDef;

GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
/*后面是对GPIO_Mode的一系列操作,使单片机执行指令*/
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值