照着案例抄开发板的程序,rebuild时报错,提示:
main.c(20): warning C275: expression with possibly no effect
main.c(20): error C141: syntax error near '='
很奇怪,提示“duan = 0x7c”这句有误,就一个最简单的赋值为什么不对?百思不得其解。
#include<reg52.h>
#define duan P0;
//...
void main()
{
//...
duan = 0x7c; //这行报错
while(1){}
}
思考了一会儿,找到原因了:
在宏定义中,用duan代表了单片机的P0,但是抄代码的时候,不小心在P0后面多加了一个分号,导致Keil不认。
#define duan P0;
把宏定义最后的分号去掉即可。
zhouyingge1104 发布了488 篇原创文章 · 获赞 387 · 访问量 272万+ 关注