这个地方有一些和C语言是不一样的,就是关键字的定义不同,稍微注意一下就可以了。
宏定义typedef关键字:#define
用途 :用一串字符代替数字,便于理解1以及修改。
定义:#define A 123
使用:int a = A ;等效于int a = 123;
这个和C语言是类似的,就不过多讲解了。
结构体关键字: typedef
用途:对变量类型换名,便于使用
定义:typedef unsigned char uint8_t;
使用:uint8_t a ;相当于 unsigned char a;
关键字:struct
用途:数据打包,不同类型变量的集合
定义:struct{char x;int y;float z;} StructName;
使用:StructName.x = 'A' ;
或者,pStructName->x = 'A';(pStructName是头指针)
struct{
char x;
int y;
float z;} StructName;
StructName.x = 'A' ;
pStructName->x = 'A';
枚举
编译关键字:enum
用途:定义一个取值受限制的整形变量
定义:
typedef enum{ FALSE = 0, TRUE = 1} EnumName;(按顺序的话,可以省略后面的赋值)
使用:
typedef enum{ FALSE = 0, TRUE = 1} EnumName; EnumName a; a = FALSE;
大概类似于如下的编译代码所示,一般在.h文件中使用比较多:
#ifndef __DELAY_H__ #define __DELAY_H__ void Delay(unsigned int xms); #endif
#ifdef __DELAY_H__ xxx #else xxx #endifextern变量
映射 51表示变量或函数可在其他文件中使用或查找。
sft P0 = 0x80; P0 = 0x00;stm32
GPIOA->ODR = 0x00000000; // 通过指针来操作



