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

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

  
楼 主:smoker 2007年2月8日21:51
 请问有那位大虾用过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);
.............................
       
        
        
.....................

  
2楼:smoker 2007年2月8日21:57
 写少了一句程序
程序中在sectorErase(0);前面还有 bank(0);


>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:请教单总线协议

[下一篇主题]:急:51单片机用什么烧录软件