c51程序调用不了头文件啊

2019-03-24 18:16发布

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

#include <reg51.h>
#include <absacc.h>

#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;
  }
}


错误也写上,见图
捕获.PNG
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
jiaolvming
1楼-- · 2019-03-26 20:00
 精彩回答 2  元偷偷看……
MrKingMCU
2楼-- · 2019-03-26 22:27
jiaolvming 发表于 2014-6-3 21:30
sbit现在已经加了,现在就剩xbyte报错,说没有定义

你build all编译之后看看什么问题,还有你说xbyte是用来操作扩展ram的,这个ram是片外ram吗?我记得片内只有EEPROM你xbyte是不是在另一个头文件里面声明的?如果是的话,在main所在的文件里用extern再次声明一下,但是不要初始化,只声明一个数组名就行了。
jiaolvming
3楼-- · 2019-03-26 22:42
lcofjp 发表于 2014-6-3 21:36
不好意思,是我说错了,你把xbyte改成大写试试呢?

你简直太棒了,真的要大写
MrKingMCU
4楼-- · 2019-03-27 03:23
 精彩回答 2  元偷偷看……
jiaolvming
5楼-- · 2019-03-27 09:11
MrKingMCU 发表于 2014-6-3 21:42
你build all编译之后看看什么问题,还有你说xbyte是用来操作扩展ram的,这个ram是片外ram吗?我记得片内 ...

没有,就只是一个c文件,问题是XBYTE没有大写,所以报错
jiaolvming
6楼-- · 2019-03-27 13:53
MrKingMCU 发表于 2014-6-3 21:43
你是不是少加载了一个.c文件?

现在已经解决了,谢谢

一周热门 更多>