找回密码
 立即注册
查看: 590|回复: 3

keil c251位变量编译时出错

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:578
  • 最近打卡:2025-06-30 07:53:30
已绑定手机

50

主题

1821

回帖

3196

积分

论坛元老

积分
3196
发表于 2024-3-15 12:54:32 | 显示全部楼层 |阅读模式
我的工程在keil c51上编译是通过的,在c251上就报错


char ebdata inx1;//
char ebdata inx2;//
char ebdata inx3;//

//输入口定义
sbit x170 = inx1 ^ 0;
sbit x10 = inx1 ^ 0;
sbit x11 = inx1 ^ 1;
sbit x12 = inx1 ^ 2;
sbit x13 = inx1 ^ 3;
sbit x14 = inx1 ^ 4;
sbit x15 = inx1 ^ 5;
sbit x16 = inx1 ^ 6;
sbit x17 = inx1 ^ 7;

头文件

extern bit x170;
extern bit x10;
extern bit x11;
extern bit x12;
extern bit x13;
extern bit x14;
extern bit x15;
extern bit x16;
extern bit x17;



编译错误

*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
    SYMBOL:  x13
    MODULE:  mainptslj.obj (mainptslj)
    ADDRESS: FF0A9AH

请问,需要怎么改下才能好?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:512
  • 最近打卡:2025-06-30 08:59:51
已绑定手机

14

主题

1322

回帖

3424

积分

论坛元老

积分
3424
发表于 2024-3-15 13:58:07 | 显示全部楼层
头文件和代码中重复定义了x13,去掉自己代码中x10-x17定义
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:578
  • 最近打卡:2025-06-30 07:53:30
已绑定手机

50

主题

1821

回帖

3196

积分

论坛元老

积分
3196
发表于 2024-3-15 14:25:04 | 显示全部楼层
21cns*** 发表于 2024-3-15 13:58
头文件和代码中重复定义了x13,去掉自己代码中x10-x17定义

头文件我使用了extern定义啊,在keil c51这样编译是可以的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:578
  • 最近打卡:2025-06-30 07:53:30
已绑定手机

50

主题

1821

回帖

3196

积分

论坛元老

积分
3196
发表于 2024-3-15 23:04:32 | 显示全部楼层
我大概找到原因了,定义变量时也是需要定义为bdata才行,不能使用ebdata,这与说明书有点不一样;
定义为ebdata时在模块内部使用没有问题,但是有外部调用的话就编译报错
截图202403152303199311.jpg
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-30 10:32 , Processed in 0.226528 second(s), 62 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表