新手学STM32——STM 中typedef enum函数

STM ?p>

衪ypedef 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,后续再仔细研究。