7963|23

10

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

c51程序调用不了头文件啊 [复制链接]

写了一个很简单的程序,不知道为什么调用不了头文件啊程序贴上

#include
#include

#define uchar unsigned char

main()
{
        uchar cont;
        uchar i;
        bit wrong=0;
        P1^7=0;
        P1^6=0;
        cont=0x8000;
        i=20;
        while(i--)
        {
                xbyte[cont]=0x88;
                cont++;
  }
        cont=0x8000;
        i=20;
        while(i--)
        {
                if(xbyte[cont]!=0x88)
                {
                        wrong=1;
    }
                cont++;
  }
        while(1)
        {
                if(wrong)
                        P1^7=0;
                else
                        P1^6=0;
  }
}


错误也写上,见图

此帖出自51单片机论坛

最新回复

因为你后面缺了一个钟括号!!!  详情 回复 发表于 2014-6-30 08:36
点赞 关注
 

回复
举报

6041

帖子

198

TA的资源

版主

沙发
 
有这种写法吗?P1^7=0;
本人不怎么懂51,只是好奇的问问。
此帖出自51单片机论坛

点评

这个是写错了,但是改成sbit定义也是调用不了头文件调用成功了不是c文件下面可以展开Reg51.h的吗?  详情 回复 发表于 2014-6-3 21:11
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
lcofjp 发表于 2014-6-3 21:05
有这种写法吗?P1^7=0;
本人不怎么懂51,只是好奇的问问。

这个是写错了,但是改成sbit定义也是调用不了头文件调用成功了不是c文件下面可以展开Reg51.h的吗?

捕获.PNG (8.16 KB, 下载次数: 0)

scs

scs
此帖出自51单片机论坛

点评

能不能展开或者是设置的问题,或许就没有展开这个功能。 至于你所说的调用不成功,我认为只要编译器没报错,就是成功了。  详情 回复 发表于 2014-6-3 21:14
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

4
 
不要沉了啊,求助啊
此帖出自51单片机论坛
 
 
 

回复

6041

帖子

198

TA的资源

版主

5
 
jiaolvming 发表于 2014-6-3 21:11
这个是写错了,但是改成sbit定义也是调用不了头文件调用成功了不是c文件下面可以展开Reg51.h的吗?

能不能展开或者是设置的问题,或许就没有展开这个功能。
至于你所说的调用不成功,我认为只要编译器没报错,就是成功了。
此帖出自51单片机论坛

点评

不是吧?我记着build后能正常调用的都是可以展开头文件的  详情 回复 发表于 2014-6-3 21:15
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

6
 
lcofjp 发表于 2014-6-3 21:14
能不能展开或者是设置的问题,或许就没有展开这个功能。
至于你所说的调用不成功,我认为只要编译器没报 ...

不是吧?我记着build后能正常调用的都是可以展开头文件的
此帖出自51单片机论坛

点评

我只用过ARM版本的MDK,对51的环境不熟,所以我也帮不了太多。 你看看有没有设置的地方,或者你改改错误,是不是最终可以编译成功。  详情 回复 发表于 2014-6-3 21:18
 
 
 

回复

6041

帖子

198

TA的资源

版主

7
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛

点评

现在就是那个扩展ram的xbyte用不了,这个东西本来是写在absacc.h里面的,现在调用不了,就报错显示没有定义xbyte  详情 回复 发表于 2014-6-3 21:26
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

8
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛

点评

好像是你的用法不对吧,xbyte是用来做修饰变量类型的吧,例如:xbyte unsigned char *p = (unsigned char *)0xF00; p[0] = 0x01; 你那样用明显就是语法错误,你确实没声明那样一个数组。  详情 回复 发表于 2014-6-3 21:30
 
 
 

回复

977

帖子

4

TA的资源

纯净的硅(中级)

9
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛

点评

sbit现在已经加了,现在就剩xbyte报错,说没有定义  详情 回复 发表于 2014-6-3 21:30
 
 
 

回复

6041

帖子

198

TA的资源

版主

10
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛

点评

我好像说的不对,因为我不懂51,就是说这么个意思,你可以找找别人的例子参考一下,或者看看编译器手册的说明。  详情 回复 发表于 2014-6-3 21:33
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

11
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛

点评

你是不是少加载了一个.c文件?  详情 回复 发表于 2014-6-3 21:43
你build all编译之后看看什么问题,还有你说xbyte是用来操作扩展ram的,这个ram是片外ram吗?我记得片内只有EEPROM你xbyte是不是在另一个头文件里面声明的?如果是的话,在main所在的文件里用extern再次声明一下,但  详情 回复 发表于 2014-6-3 21:42
 
 
 

回复

6041

帖子

198

TA的资源

版主

12
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛

点评

XBYTE定义的是外部地址,可以用在扩展ram,我这个程序就是原封不动写书上的,不知道哪里错了  详情 回复 发表于 2014-6-3 21:37
不好意思,是我说错了,你把xbyte改成大写试试呢?  详情 回复 发表于 2014-6-3 21:36
 
 
 

回复

6041

帖子

198

TA的资源

版主

13
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛

点评

你简直太棒了,真的要大写  详情 回复 发表于 2014-6-3 21:43
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

14
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛
 
 
 

回复

977

帖子

4

TA的资源

纯净的硅(中级)

15
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛

点评

没有,就只是一个c文件,问题是XBYTE没有大写,所以报错  详情 回复 发表于 2014-6-3 21:44
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

16
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛
 
 
 

回复

977

帖子

4

TA的资源

纯净的硅(中级)

17
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛

点评

现在已经解决了,谢谢  详情 回复 发表于 2014-6-3 21:46
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

18
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

19
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛

点评

不客气,反正我也没帮上什么忙  详情 回复 发表于 2014-6-3 21:48
 
 
 

回复

977

帖子

4

TA的资源

纯净的硅(中级)

20
 
查看本帖全部讨论,请登录或者注册
此帖出自51单片机论坛

点评

推荐你一个软件STC-ISP,下载用的,里面可以找到历程 [attachimg]152116[/attachimg]  详情 回复 发表于 2014-6-3 21:50
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
【干货上新】电源解决方案和技术第二趴 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 8

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表