一、#define
①#define Key 0,是定义了宏Key,其内容会被替换为0;
#define Key,仅是定义了Key,一般用于#ifdef Key之类的宏编译
#ifdef 判断某个宏是否被定义,若已定义,执行随后的语句
例
#define Key
#ifdef Key
code //检测到Key定义了,所以这段代码就会执行,若是不想执行这段代码,直接将宏定义
//(#define Key)注释掉就可以了,在代码移植时,比较方便
#endif
②#define用来定义一个常量,
defined()用来检测是否定义了一个常量。
二、_asm(“nop”)
asm(“nop”)是内嵌汇编做空指令延时用的,其中asm()的作用是指函数内部的参数翻译为汇编指令,其作用是在C语言环境下直接使用汇编指令执行。nop是一个空等待汇编指令,这个指令执行时,单片机是什么也不做,仅仅起一个时间延时作用
三、typedef struct
编写程序时,遇到
typedef struct
{
uint8_t curr_value;