undefined identifier是未定义的标志符,在程序内使用了没有被定义的标志符或者变量,是常见的keil编译错误,引发这一错误的原因是你使用的变量没有被定义。
解决办法是找到这个没有被定义的标志或者变量进行定义。
另外一种常见的错误就是大小写导致的,如你定义的是unsigned char num,在使用的时候,写成了NUM,也会出现同样的错误。
扩展资料:
单片机编程是基于C语言的单片机编程,C语言中出现的指令意思:
short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)
long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)
unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)
restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(C99标准新增)
struct:结构体声明。(K&R时期引入)
inline:内联函数用于取代宏定义,会在任何调用它的地方展开。(C99标准新增)
auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配。与static相反。当变量未指定时默认为auto。(K&R时期引入)
static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部。(K&R时期引入)
register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数。(K&R时期引入)
extern:指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。(K&R时期引入)