热卖开发板:
  • 51单片机开发板
  • USB开发板
  • AVR单片机开发板
  • msp430f149单片机flash操作的程序代码实例

      //////////////////////////////////////////////
      //功能:FLASH操作-BYTE数据写入              //
      //参数:char *Data_ptr,char byte            //
      //返回:无                                  //
      //日期:2003.11.6                           //
      //////////////////////////////////////////////
      void Flash_wb(char *Data_ptr,char byte)
      {
      FCTL3=0x0A500;           // Lock=0
      FCTL1=0x0A540;           // WRT=1
      *Data_ptr=byte;
      }
      //////////////////////////////////////////////
      //功能:FLASH操作-word数据写入              //
      //参数:int *Data_ptr, int word             //
      //返回:无                                  //
      //日期:2003.11.6                           //
      //////////////////////////////////////////////
      void Flash_ww(int *Data_ptr,int word)
      {
      FCTL3=0X0A500;           //Lock=0
      FCTL1=0X0A540;           //WRT=1
      *Data_ptr=word;          
      }
      //////////////////////////////////////////////
      //功能:FLASH操作-段擦除                    //
      //参数:int *Data_ptr                       //
      //返回:无                                  //
      //日期:2003.11.6                           //
      //////////////////////////////////////////////
      void Flash_clr(int *Data_ptr)
      {
      FCTL1=0X0A502;           // ERASE=1
      FCTL3=0X0A500;           //Lock=0
      *Data_ptr=0;
      }
      //////////////////////////////////////////////
      //功能:FLASH 操作,先保存在擦写            //
      //参数:uchar num                           //
      //返回:无                                  //
      //日期:2003.11.14                          //
      //////////////////////////////////////////////
      void Flash_do(uchar num)
      {
      uint lshi,linshi[13];       //
      uchar i=0;
      int *addr;
      _DINT();
      addr=(int *)0x1000;
      for(i=0;i<13;i++)
         {
          linshi[i]=*(addr+i);
         }
      linshi[num]=Flash_save[num];  //更新数据
      Flash_clr(addr);     //段擦除
      for(i=0;i<13;i++)
         {
          lshi=linshi[i];
          Flash_ww(addr+i,lshi);//写入
         }
      _EINT();
      }
       

    声明:CEPARK已尽力确保内容的准确性,但因业务发展和技术服务的需要,有关内容可能会根据实际情况随时更新或者修改,恕不另行通知,不便之处敬请谅解!
      商城推荐
      社区指南
    CEPARK电子园-电子工程师自己的网络家园!
      迷你博客,轻松完成日志发布,管理相册;展示个性自我
      兴趣小组,热点话题,加入您感兴趣的话题讨论小组,一起交流吧
      最新资讯,热门话题与好友一起分享信息,他评论感兴趣的话题
      实名认证,真实交友,还可以轻松快捷的了解好友动态
      邀请您身边的好友,朋友,同事一起加入欢乐圈