单片机/MCUwilliam hill官网
直播中

土老冒

11年用户 92经验值
擅长:可编程逻辑 电源/新能源 测量仪表 控制/MCU
私信 关注

已经加载了头文件,在程序中老是出现重定义错误,是什么原因

本帖最后由 俺土老冒 于 2021-8-22 18:22 编辑

是这样的刚开始学C51编程,有好多错误莫名奇妙,下面是一段程序老是确认出错被告知重复定义:#include
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
P4SW = 0x70;
P40 = 1;
void main()
{.......}
报错:


TEST2.C(9): error C231: 'P4SW': redefinition
TEST2.C(9): error C231: 'P4SW': redefinition
TEST2.C(10): error C231: 'P40': redefinition
TEST2.C(10): error C231: 'P40': redefinition

打开了头文件stc12c5a60s2.h查看关于P4口的定义:
.......
sfr P4   = 0xC0;
***it P40 = P4^0;
***it P41 = P4^1;
***it P42 = P4^2;
***it P43 = P4^3;
***it P44 = P4^4;
***it P45 = P4^5;
***it P46 = P4^6;
***it P47 = P4^7;
sfr P4M0 = 0xB4;

sfr P4SW = 0xBB;
.........
请教各位大侠能否给我解惑一二,在此深表感谢。



回帖(2)

阿信509

2021-8-22 16:46:46
程序写简单点,看看还报错不,比如:
#include
#include
void main()
{P4SW = 0x70;}
1 举报
  • 土老冒: 谢谢你的指导,放进了main里所有的定义都没问题了,这是什么原因啊

阿信509

2021-8-24 08:43:52
P4SW = 0x70;
P40 = 1;
你说的是这两句吧,在main前面是不允许有这样的语句的,这是规定要遵守的
举报

更多回帖

发帖
×
20
完善资料,
赚取积分