Keil错误: ERROR: PREPROCESSOR: MACROS TOO NESTED宏嵌套过多

如下图所示:
Keil错误: ERROR: PREPROCESSOR: MACROS TOO NESTED宏嵌套过多_第1张图片
遇到这种情况,错误的原因是宏定义嵌套太多,一般情况下可能是某个或多个库文件写错了,现在碰到了俩种错误的原因。
第一种,引用的头文件名称错误
Keil错误: ERROR: PREPROCESSOR: MACROS TOO NESTED宏嵌套过多_第2张图片
这种情况下只要把名称改写成.h文件即可
第二种,一个头文件被多次引用
例如我的delay.h文件:
Keil错误: ERROR: PREPROCESSOR: MACROS TOO NESTED宏嵌套过多_第3张图片
因为没有加#ifndef进行判断是否已经引用,导致了多次嵌套引用,做如下修改
Keil错误: ERROR: PREPROCESSOR: MACROS TOO NESTED宏嵌套过多_第4张图片
此时便不再报错。

你可能感兴趣的:(51单片机)