一、stdint.h简介
stdint.h 是从 C99 中引进的一个标准 C 库的文件,
路径:D:\MDK5.34\ARM\ARMCC\include

配置MDK支持C99:

二、位操作

如何给寄存器某个位赋值:

三、宏定义

带参数的宏定义:

建议大家使用 do{ ... }while(0) 来 构造宏定义,这样不会受到大括号、分号、运算符优先级等的影响,总是会按你期望的方式调用运行!
参考链接:https://blog.csdn.net/xiaoyilong2007101095/article/details/77067686
四、条件编译
让编译器只对满足条件的代码进行编译,不满足条件的不参与编译!


五、extern声明
放在函数/变量前,表示此函数/变量在其他文件定义,以便本文件引用。

六、typedef
为现有数据类型创建一个新的名字,或称为类型别名,用来简化变量的定义。

类型别名应用:

七、结构体
由若干基本数据类型集合组成的一种自定义数据类型,也叫聚合类型。

应用举例(定义&使用):

应用举例(ST源码,使用类型别名):

八、指针
指针就是内存的地址。
指针变量是保存了指针的变量。


指针使用的2大最常见问题:
1. 未分配(申请)内存就用 ;
2. 越界使用。

九、代码规范
规范的关键点:
1. 所有函数/变量名字非特殊情况,一般使用小写字母;
2. 注释风格使用 doxgen 风格,除屏蔽外,一律使用 /* */ 方式进行注释;
3. TAB 键统一使用 4 个空格对齐,不使用默认的方式进行对齐;
4. 每两个函数之间,一般有且只有一个空行;
5. 相对独立的程序块之间,使用一个空行隔开;
6. 全局变量命名一般用 g_开头,全局指针命名一般用 p_开头;
7. if、 for、 while、 do、 case、 switch、 default 等语句单独占一行, 一般无论有多少行执行语句,都要用加括号: {}。
浙公网安备 33010602011771号