照着案例抄开发板的程序,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;

把宏定义最后的分号去掉即可。

推荐内容
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐