twl_mcu/EEPe.c
2024-12-17 04:24:29 -05:00

51 lines
1.3 KiB
C

/*
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;
}