导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请问有那位大虾用过SST的MCU写SST的39SF040的f

* 102710: 请问有那位大虾用过SST的MCU写SST的39SF040的flash,有的请帮忙解决个程序问题,多谢!!

   smoker 
smoker发表的帖子 

 请问有那位大虾用过SST的MCU写SST的39SF040的flash,有的请帮忙解决个程序问题,多谢!!
下面是我用SST89E516RD2写39SF040的程序,为什么我在写flash的时候总是不成功,请那位大虾指点一下,不胜感激

unsigned char byteRead(unsigned int addr)
{
 unsigned char readData;
 readData=XBYTE[addr];
 return(readData);
 }
 
void byteProgram(unsigned int addr,unsigned char dat)
{
 XBYTE[0x5555]=0xAA;
 XBYTE[0X2AAA]=0X55;
 XBYTE[0x5555]=0xA0;
 XBYTE[addr]  =dat;

void sectorErase(unsigned int sector)
{
 sector=sector  <  <12;
 XBYTE[0x5555]=0xAA;
 XBYTE[0x2AAA]=0x55;
 XBYTE[0x5555]=0x80;
 XBYTE[0x5555]=0xAA;
 XBYTE[0x2AAA]=0x55;
 XBYTE[sector]=0x30;
 }
 
void chipErase(void)
{
 XBYTE[0x5555]=0xAA;
 XBYTE[0x2AAA]=0x55;
 XBYTE[0x5555]=0x80;
 XBYTE[0x5555]=0xAA;
 XBYTE[0x2AAA]=0x55;
 XBYTE[0x5555]=0x10;
 }
 
void bank(unsigned char bank)
{
 switch(bank)
 {
  case 0: A16=0; A17=0; A18=0; break;
  case 1: A16=1; A17=0; A18=0; break;
  case 2: A16=0; A17=1; A18=0; break;
  case 3: A16=1; A17=1; A18=0; break;
  case 4: A16=0; A17=0; A18=1; break;
  case 5: A16=1; A17=0; A18=1; break;
  case 6: A16=0; A17=1; A18=1; break;
  case 7: A16=1; A17=1; A18=1; break;
  }
  }
void main(void)
{
       AUXR=0X02;
       rd=1;
       wr=0;
       sectorErase(0);
       byteProgram(0x0300,0x20);
       wr=1;
       rd=0;
       byteRead(0X0300);
.............................
       
        
        
.....................



发表时间:2007年2月8日21:51:48

  
回复该帖

本主题共有 2 帖,分页:>>>>>该主题的所有内容[2]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  102712.[详细]写少了一句程序
摘要:程序中在sectorErase(0);前面还有 bank(0);  ......(47字)
- [smoker][669次] 2007年2月8日

[上一篇帖子]:写少了一句程序程序中在sectorErase(0);前面还有 bank(0); /P P
[下一篇帖子]:你的地址找对了没啊?两行的地址是不同的,只要地址找对了,显示就没问题的啊! /P P