STM 中typedef enum函数
函数:
typedef enum
{
GPIO_PIN_RESET = 0U,
GPIO_PIN_SET
} GPIO_PinState;
解释:
GPIO_PIN_RESET = 0U
GPIO_PIN_SET =1U
其中:
0U 表示 无符号整型 0
1U 表示 无符号整型 1
函数名称:枚举 enum 成员变量初始化
例如:typedef enum
{
A,
B,
C,
D = 10,
E
}F;////此处的F为枚举型enum typedef的别名.
如果A赋值为5,则下列依次递增1,即B等于6,C等于7;
由于D赋值为10,所以E等于11
如果A不赋值,A默认为0,下列依次递增1
注意函数最后一定要有分号;
(其实就是偷懒,都写全不就行了,免得新手看不懂还有以下的例子也是同样道理)
由于定义过如下
#define led0_Pin GPIO_PIN_12 // led0_Pin= GPIO_PIN_12
#define led0_GPIO_Port GPIOB //led0_GPIO_Port=GPIOB
所以:
HAL_GPIO_WritePin(led0_GPIO_Port,led0_Pin ,GPIO_PIN_SET);
等同于
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12 , 1);
这样写C51的新手不就好理解多了,-----只是粗浅的理解,至于能写1为什么不写1,后续再仔细研究。