首页 新闻资讯 技术资料 论坛 网站地图
嵌入式硬件 嵌入式软件 AD/DA 传感控制 医疗电子 IC设计 嵌入式开发新闻
电子元器件搜索:
IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
维库电子市场网是知名的电子元器件交易网站, 为电子生产企业提供IC库存和技术资料查询服务。
位置: 首页 > 详细信息
  为什么在加了外部数据存储器62256的程序后,总程序不能运行?
出处:21ic 时间: 2007-10-30
ccjchen 发布于 2007-10-29 18:34:00
各位大哥帮看看我的62256读写程序有问题吗?
uchar idata dig1[7]={"4 8.5 0"};

void WR62256()
{ uchar i;
  addr=0x0100;//数据存储的起始地址
   for(i=0;i<4;i++)//连续存储14个数据
  {
     *addr=dig1[2*i];
     addr++;
  }
}
void RD62256()
{  uchar i;
   addr=0x0100; //读取数据的起始地址
   for(i=0;i<4;i++)//连续读取14个数据
   {
        dig1[2*i]=*addr;
        addr++;

   }
}

void main(void)
{    
     initlcm();
     initmcu();
     WR62256();//写62256
     for(;;)
     {
        RD62256();//从62256读dig1[]
          dealkey();//用键盘改变dig1[]的值
         
        dis_voltage();
        //WR62256();将改变后的值写入62256,
但是加了这句话程序就运行不过去,不知道为什么
         难道我的62256写有错吗?
     }
}



lbx_00 发布于 2007-10-29 20:41:00
在WR62256();前面插入无用码,keil有时候很怪的,还有,就是从你的帖子里看不到ddr的定义,


ccjchen 发布于 2007-10-29 21:06:00
还有个问题要请教大虾,如果我想直接访问0x0100这个地址,应该怎么写呢
xdata(0x0100),还是xbyte(0x0100),或者用_at_应该怎么写?


沈老 发布于 2007-10-29 21:15:00
1>.使用:uchar volatile xdata addr[] _at_ 0x0100;//来定义
2>.用数组存取:
void WR62256()
{ uchar i;
//addr=0x0100;
  for(i=0;i<4;i++)
  {     
      addr[i]=dig1[2*i];
  }
}
void RD62256()
{  uchar i;
   for(i=0;i<4;i++)
   {
        dig1[2*i]=addr[i];
   }
}
3>.外存0x100地址是不是太低了?
.


ccjchen 发布于 2007-10-29 23:04:00
1.volatile 没用过,在书上也没看过,什么意思啊,必须用吗?
2.你的第二种方法中没有指明存在外部ram中的什么地方这样也可以吗?那不是自动分配外部空间了吗?
3.外存不是从0x0000-0xffff都可以放数据吗,难道低位空间还有其他用处吗?


沈老 发布于 2007-10-30 19:36:00
1>."C51.pdf",104页中有这样的话:
NOTE
If you use the _at_ keyword to declare a variable that accesses an XDATA peripheral, you may require the volatile keyword to ensure that the C compiler does not optimize out necessary memory accesses.
"volatile"目的基本如上.
2>.定义和使用即(1,2)不是2种方法.
3>.有的芯片本身有1到4K的SRAM作XDATA(如W77E58).所以0x100就太低了.


关闭】 【打印
相关专题  
综合电子技术
测试测量
接口电路
计算机外设
通信产品
存储器
SOPC
嵌入式硬件
传感控制
消费电子
CPLD/FPGA
安防产品
AD/DA
数控系统
电源系列
开发工具
工业控制
汽车电子
应用产品
医疗电子
嵌入式软件
软件开发
军工/航空航天
IC设计
嵌入式系统

© 2007 百斯嵌入式开发网 网站地图