单片机/MCU论坛
登录
直播中
土老冒
11年用户
92经验值
擅长:可编程逻辑 电源/新能源 测量仪表 控制/MCU
私信
关注
已经加载了头文件,在程序中老是出现重定义错误,是什么原因
开启该帖子的消息推送
单片机编程
C51
本帖最后由 俺土老冒 于 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': redefini
ti
on
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;}
程序写简单点,看看还报错不,比如:
#include
#include
void main()
{P4SW = 0x70;}
1
举报
土老冒:
谢谢你的指导,放进了main里所有的定义都没问题了,这是什么原因啊
阿信509
2021-8-24 08:43:52
P4SW = 0x70;
P40 = 1;
你说的是这两句吧,在main前面是不允许有这样的语句的,这是规定要遵守的
P4SW = 0x70;
P40 = 1;
你说的是这两句吧,在main前面是不允许有这样的语句的,这是规定要遵守的
举报
更多回帖
rotate(-90deg);
回复
相关问答
单片机编程
C51
在
文件
中
已经
定义
且
加载
了
,为什么
程序
还是编译
错误
2014-07-04
3247
为什么我调用子函数的
头文件
时总是
出现
某某变量
重
定义
?
2019-08-07
2278
STM32
头文件
引用了却没有
加载
2016-03-07
5951
主
程序
里经常
出现
重
定义
2019-06-04
1273
C6678调试
程序
的时候
出现
了
下面的
错误
,请问是
什么原因
?该如何解决呢?
2018-06-25
2069
编译miscTest.c找不到<linux/types.h>
头文件
是
什么原因
2022-01-07
1704
C51
在
主
程序
中
定义
的函数
在
另一个被
加载
的自己作的.h格式
文件
里是否可以直接调用?
2021-08-26
2909
在
使用labview调用外部函数时,
老是
出现
1097
错误
,参数
定义
和设置都正确。
2016-07-25
11907
CCS4.12编译
错误
,求指导
2014-08-23
2592
在
一段
程序
的开始位置
已经
使用#define
定义
过一个变量的类型,但是
在
函数
中
却不被认可,这是啥
原因
啊
2021-08-14
2914
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分