flash.c

来自「对MSP430 Flash 操作的源码, 有允许和禁止操作」· C语言 代码 · 共 37 行

C
37
字号
#include "flash.h"
#include  <msp430x22x4.h>
//#include "msp430x22x4.h"

#define CHECKSUM_ADDRESS  0XFbF0            //CHECK SUM IS STORED HERE
#define GUI_DATA_SIZE     0XFbF8            //how many bytes of GUI data IS STORED HERE

#define GUI_DATA_ADDRESS  (0XF600)            //The first GUI data IS STORED HERE

volatile char *Flash_ptr;                          // Flash pointer

void prepareToWrite_Seg (int pointer)
{
//  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  FCTL2 = FWKEY + FSSEL0 +  FN3+ FN4;             // MCLK/16 for Flash Timing Generator

  Flash_ptr = (char *) pointer;              // Initialize Flash pointer
    if (Flash_ptr<( char *)0xe600)
       Flash_ptr=( char *)0xe600;
     if (Flash_ptr>( char *)0xfd90)
       Flash_ptr=( char *)0xfd90;

  FCTL1 = FWKEY + ERASE;                    // Set Erase bit
  FCTL3 = FWKEY;                            // Clear Lock bit
    if (Flash_ptr<( char *)0xe600)
       Flash_ptr=( char *)0xe600;
     if (Flash_ptr>( char *)0xfd90)
       Flash_ptr=( char *)0xfd90;

  *Flash_ptr = 0;                           // Dummy write to erase Flash segment

  //FCTL1 = FWKEY + WRT;                      // Set WRT bit for write operation
}



⌨️ 快捷键说明

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