我用的是DP256,写flash在0x6000可以,但地址换成0x8000就不行了为什么呢? 还有就是编了个擦除程序,不好使,不知道是什么问题,请斑竹指教。谢谢!
byte EraseSectorInternal(dword Addr) { _asm SEI; FSTAT= 0x30; while(FSTAT_CBEIF==0){ i++; } //*(volatile word *) (Addr&0xFFFF) = 0x10; ldata=0x1234; add= (word *)Addr;
*add= ldata; FCMD = 0x40; // Word program command命令寄存器,flash擦除512操作 FSTAT_CBEIF =1; // Clear flag command buffer empty
while(FSTAT_CBEIF==0); //while(FCNFG_CCIE == 1); // Enable interrupt //FSTAT; while(FSTAT_CCIF==0); ERR_OK=1; return ERR_OK; //err=*add; // OK _asm CLI; }
[此贴子已经被作者于2008-3-5 22:22:04编辑过] |