位操作
按位与运算
按位或运算
按位异或运算
按位取反
按位左移
按位右移
宏定义
宏定义不占用内存
带参宏定义
do{...}while(条件),要先执行一次,再判断条件
#define LED1(x) do{ x ? \ A.... : \
B..... ; \ } while (0)
宏定义 LED(x) = do{ x ? \ A.... : \ B..... ; \ } while (0)
x?:0或1,x = 1 执行A.... , x = 0 执行B....
执行完毕判断while(0)为0,跳出循环
条件编译
代码条件编译
如果(#if) SYS_SUPPORT_OS成立 执行 code 结束(#endif)
头文件编译
如果没有定义这个宏,就定义这个宏,再包含头文件,.... ,结束编译
extern声明
声明这个函数/变量再别的文件定义,在本文引用
类型别名(typedef)
上面没用结构体类型别名,创建一个结构体,下面用typedef,
typedef struct { … } GPIO_TypeDef;
struct {...}结构体
GPIO_TypeDef 该结构体的别名
结构体
指针
*取值
&取地址