/* NECのライブラリを使う */ //****************************************************************************** #include "macrodriver.h" #include "System.h" #include "eeelib.h" #include "EEPe.h" #include "user_define.h" #include "jhl_defs.h" #include "flash.h" //****************************************************************************** // NEC謹製 EEPROM エミュレーション ライブラリ #pragma section @@DATS ERAM AT 0xFE20 // エントリRAMは置けるところに制限があります。 sreg UCHAR EntryRAM[100]; #pragma section @@DATS @@DATS struct stEEPROM_Param eep_par; /* パラメータ・エリア */ UCHAR EepRAM[8]; extern u8 vregs[]; //****************************************************************************** void eepe_init(){ /* パラメータ・セット */ eep_par.EntryRAM = EntryRAM; // エントリRAM eep_par.EepRAM = EepRAM; // EEPROM 用RAM eep_par.InfoFlag = 0b00000000; // 自動消去:しない、 EEPROM関係処理中にWDTを無効 eep_par.BankNo = 0; // 使用バンク eep_par.BlockNo = 0x0c; // 使用ブロック eep_par.DataLen = 1; // データ長 eep_par.DataNum = 2; // データ数量 flash_we = 1; DI(); ucEEPROMInitEx_A(&eep_par); // 初期設定関数実行 if( ucEEPROMGetRemainEx_A() == 0 ){ ucEEPROMChangeEx_A(); } EI(); flash_we = 0; }