⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flash_430.c

📁 MSP430的FLASH编程,有字节段的读写操作.适合于430单片机的各种应用
💻 C
字号:
//////////////////////////////////////////////
//功能: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(); 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -