18252776113 发表于 2012-4-20 11:11:44

新手求助!希望前辈们能帮小弟一下

本帖最后由 18252776113 于 2012-4-20 12:15 编辑

149中的flash操作,换了几个代码,始终不正确,真的不知道出了什么问题?请高手帮忙看看!小弟感激不尽。

void erase_flash(uint addr)
{
      uchar *pf;
      pf=(uchar *)addr;
      FCTL1=FWKEY+ERASE;
      FCTL3=FWKEY;
      *pf=0;
      while(FCTL3&BUSY);
      FCTL3=FWKEY+LOCK;
}
void wr_flash(uint addr,uchar dat)
{
      uchar *pf;
      pf=(uchar *)addr;
      FCTL3=FWKEY;
      FCTL1=FWKEY+WRT;
      while(FCTL3&BUSY);
      *pf=dat;
      FCTL1=FWKEY;
      FCTL3=FWKEY+LOCK;
}
uchar rd_flash(uint addr)
{
      uchar *pf=(uchar *)addr;
      return *pf;
}

void main()
{
FCTL2=FWKEY+FSSEL_1+FN3+FN4;               //MCLK作为的时钟
//erase_flash(0x1080);                                 //信息flash segmentA
//wr_flash(0x1080,8);                                  //不注销操作 lcd就能正常显示8
str=rd_flash(0x1080)+1;                //注销以上两个操作,始终读出 -1 ,+1后lcd显示0
lcd_disp_sz_16_str(0,0,str);                        //也就是说 掉电未保持 请问这是什么问题?上面擦除 写入 读出函数是否存在很大问题?
while(1);
}

SF_BSL430下载软件上 的“保护信息flash”是什么意思?和上面问题有关联吗?
页: [1]
查看完整版本: 新手求助!希望前辈们能帮小弟一下