sy606 发表于 2008-1-22 07:55:07

请马老师看一下,新版cvavr1.25为什么会出错

这是我以前设计的一段eeprom操作程序,   
目的是在eeprom中永久保留几个报警变量,
上电后首先检查eeprom地址0xf9值是否为0xaa,
如果是说明地址0xfa、0xfb、0xfe、0xff值被设置
过,则读取赋给相应变量,否则将这些地址赋默认值。
问题是这段程序在cvavr1.24.5中可以编释通过,
1.25版却报一大堆错误。
#include <mega16.h>
void main(void)
{
unsigned char eeprom *ptr;
unsigned char gbjh,dbjh,glsh,dlsh;


ptr=0xf9;
if(*ptr==0xaa)
      {
      ptr=0xfa;
      gbjh=*ptr;
      ptr=0xfb;
      dbjh=*ptr;
      ptr=0xfe;
      glsh=*ptr;
      ptr=0xff;
      dlsh=*ptr;
      }
      else
      {
      gbjh=14;
      dbjh=6;
      glsh=16;
      dlsh=4;
      ptr=0xfa;
      *ptr=gbjh;
      ptr=0xfb;
      *ptr=dbjh;
      ptr=0xfe;
      *ptr=glsh;
      ptr=0xff;
      *ptr=dlsh;
      }

while (1)
      {
      // Place your code here
      //这后面有按键改写eeprom内容的程序

      };
}

请问各位老大,该如何解决呀?

machao 发表于 2008-1-22 23:15:35

现在已经为1.25.8了.

你也没说是什么错,我成神仙了.你换的是什么版的?DEMO版的只能编译2K的程序.另外,请在新版CVAVR中新建工程,再使用原来的源文件,重新编译.

machao 发表于 2008-1-22 23:25:32

所有平台的更新,都有说明的,新版改正了老版中的哪些BUG,增加了什么,优化了什么.

一定要学会看使用平台的HELP,还有历史文档记录.每个版经常会有些BUG.你没用到,运气.用到了,调半天不知道所以然.

可惜,都是英文的.我碰了N多的工程师,说我的E文不行.E文不行的话,提高和深入就很难了.

sy606 发表于 2008-1-23 09:15:16

先谢谢二位的回答!
我用的新版是1.25.5专业版就这几行就有错误,
我在新版里新建了工程,编译还是通不过,而新版的这个工程在拿到1.24里就通过了,
我跟本就不会英语,看不懂是什么错误,您能用两个版编译一下就知道了,
1.24版通过,1.25以上的就会出错,如果您只有1.25版编译一下就会看到错误了,
请问1.25版访问eeprom是不是有了新方法。
页: [1]
查看完整版本: 请马老师看一下,新版cvavr1.25为什么会出错