STM32入門教程-2023持續(xù)更新中

宏定義
關(guān)鍵字:#define
用途:用一個字符串代替一個數(shù)字,便于理解,防止出錯;提取程序中經(jīng)常出現(xiàn)的參數(shù),便于快速修改
定義宏定義:
#define ABC 12345 //用ABC字符串代替12345
引用宏定義: int a=ABC; //等效于int a=12345;
typedef
關(guān)鍵字:typedef
用途:將一個比較長的變量類型名換個名字,便于使用
定義typedef:
typedef unsigned char uint8_t ; //uint8_t代替unsigned char
引用typedef:
uint8_t a; //等效于unsigned char a;
結(jié)構(gòu)體
關(guān)鍵字:struct
用途:數(shù)據(jù)打包,不同類型變量的集合
?定義結(jié)構(gòu)體變量:
struct{char x; int y; float z;} StructName;
StructName.x= 'A';?
StructName.y = 66;?
StructName.z = 1.23;?
或
pStructName->x= 'A';//pStructName為結(jié)構(gòu)體的地址
?pStructName->y= 66;
pStructName->z = 1.23; )
因為結(jié)構(gòu)體變量類型較長,所以通常用typedef更改變量類型名
引用結(jié)構(gòu)體成員:typedef struct{char x;
int y;
float z;}StructName_t
StructName_t c;
StructName_t d;
c.x = 'A';
c.y = 15;
d.x = 'D';
d.y = 22;
枚舉
關(guān)鍵字:enum
用途:定義一個取值受限制的整形變量,用于限制變量取值范圍;宏定義的集合
定義枚舉變量:
enum{FALSE =θ,TRUE=1} EnumName;
EnumName=FALSE; EnumName=TRUE;?
因為枚舉變量類型較長,所以通常用typedef更改變量類型名引用枚舉成員:
typedef enum{FALSE =θ,TRUE=1} EnumName_t;
EnumName_t EnumName;
EnumName = FALSE;
EnumName = TRUE;