打印

0832

[复制链接]
2320|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chen3bing|  楼主 | 2007-12-25 21:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TE, ic, pi, pic, ICT
我写了一个操作0832的程序,如下:

#include <pic.h>
#define DAC0832 XBYTE[0x7FFF]
void delay(unsigned char t)
{while(t--);
}
void saw(void)
{unsigned char j;
 for(j=0;j<255;j++)
 {DAC0832=j;                                   //第九行
  delay(10);
 }
 delay(250);
 
}
void main(void)
{TRISD=0X00;
 while(1)
 {saw();
 }
}
编译有错误:

Error[000] D:picTempLAMP.C 9 : undefined identifier: XBYTE
Error[000] D:picTempLAMP.C 9 : pointer required
Error[000] D:picTempLAMP.C 9 : pointer required

请问高手,如何解决?

谢谢!
沙发
兰天白云| | 2007-12-26 08:24 | 只看该作者

提示已经很清楚了

使用特权

评论回复
板凳
chen3bing|  楼主 | 2007-12-26 12:24 | 只看该作者

谢谢

我在宏定义前面定义了一个数组
unsigned int XBYTE[0X8000];
可编译仍然有错误。
Error[000] D:picTempLAMP.obj 19 : Fixup overflow in expression (loc 0xFEE (0xFD8+22), size 1, value 0x11E)
Error[000] D:picTempLAMP.obj 19 : Fixup overflow in expression (loc 0xFF0 (0xFD8+24), size 1, value 0x11F)
请继续指教。

使用特权

评论回复
地板
chen3bing|  楼主 | 2007-12-26 17:27 | 只看该作者

等待

高手,请指教啊。
叩谢!

使用特权

评论回复
5
systemchip| | 2007-12-26 18:44 | 只看该作者

弄了一个32K字大小的数组??

PIC16 or PIC18?? 哪一个型号的RAM这么大?

使用特权

评论回复
6
chen3bing|  楼主 | 2007-12-27 12:15 | 只看该作者

谢谢

16F877.
我也知道没有这么大。
但是兰天白云说提示已经很清楚了,
我只能这样理解。
systemchip兄,你说怎么解决?

使用特权

评论回复
7
systemchip| | 2007-12-27 13:24 | 只看该作者

如果你一定要存32K字的数据:

PIC16F877A的程序空间+数据空间都远远小于32K字,所以你需要外部存储器件(flash or RAM).

使用特权

评论回复
8
chen3bing|  楼主 | 2007-12-27 17:41 | 只看该作者

谢谢

我不需要32K字的数据。
你帮我看看程序,我抄书上的。
有一个宏定义:
#define DAC0832 XBYTE[0x7FFF]
编译有错误。
提示没有定义XBYTE.
0x7fff是个地址,是不是这样写本身就有问题。

使用特权

评论回复
9
dodome521| | 2007-12-28 09:10 | 只看该作者

是没有XBYTE的定义,

中档PIC就没有外部总线,要操作0832应该用IO去模拟总线

使用特权

评论回复
10
chen3bing|  楼主 | 2007-12-28 12:18 | 只看该作者

谢谢

谢谢楼上的回复!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

439

主题

2540

帖子

2

粉丝