还是有必要说明一下枚举类型。
枚举类型常用于已知的固定的场合。比如曾经做过的一个项目中,需要控制许多个电机,为了使用方便。
// 电机枚举类型
typedef enum
{
ADD_SAMPLE_UD_M, // 加样升降电机
ADD_SAMPLE_D_M, // 加样转向电机
DISK_M, //圆盘电机
ADD_SAMPLE_M, // 加样电机
MAG_BEAD_M, // 磁珠搅拌电机
}MOTOR_GROUP1_ID;
MotorParam g_mGroup1Param[MAX_MOTOR_GROUP1_NUM];
在我需要用到某个电机时
g_mGroup1Param[ADD_SAMPLE_UD_M].pulParam.mPin.GPIO_Pin= M_AS_UD_PUL; // 脉冲光耦
这样写的好处就是便于理解代码。当然你可以不用这种方式,直接使用数字或者宏定义也可以。
需要注意的是如果不显式的赋值,那么默认从0开始,并依次递增。也就是等效于下面
typedef enum
{
ADD_SAMPLE_UD_M = 0, // 加样升降电机
ADD_SAMPLE_D_M = 1, // 加样转向电机
DISK_M = 2, // 圆盘电机
ADD_SAMPLE_M = 3, // 加样电机
MAG_BEAD_M = 4, // 磁珠搅拌电机
}MOTOR_GROUP1_ID;