📄 eeprom.h
字号:
//const uchar ucEEPROM_BLOCK[] = {29,30};
const uchar ucEEPROM_BLOCK[] = {15};
/* ex) Blnk numbers 0 is used. (The product without a ROM bank sets up 0.) */
const uchar ucEEPROM_BANK[] = {0};
/* Data length of write data */
/* ex) Data length of data number 0 to 10 is 4 bytes, data length of data number 1 is */
/* 4 bytes... Sets data length of individual data to be used. */
#define DATALENGTH 4
/* Data length of write data */
#define DATANOMAX 9 /* ex) 0 to 9 */
/* Please comment out the product without a ROM bank. */
/* Retry number for write process */
#define WRITENUM 2 /* ex) 2times retry */
/* Retry number for erase process */
#define ERASENUM 2 /* ex) 2times retry */
#define EEPROM_BLOCK_NO sizeof(ucEEPROM_BLOCK) //eeprom block number
//#define WRITE_DATA_LENGTH (((((DATALENGTH + 1) >> 2) + 1) << 2) - 1)
//#define FRAME_DATA_LENGTH 32
/* Length of general-purpose buffer */
//#define BUFLENGTH 16
#define LIB_NORMAL_END (0x0) /* Normal completion (== Constant definitions: TRUE) */
#define LIB_BLKCHK_ERR (0x1B) /* Blank check error */
#define LIB_BLANK_ERR (0x1E) /* Blank error */
#define LIB_STATE_INT (0x1F) /* State of interruption */
#define BLOCK_TO_ADDRESS(x) usBlockToAddress(x)
#define BLOCK_IS_PROHIBIT(x) ucUseProhibitionBlock(x)
#define BLOCK_IS_EFFECTIVE(x) ucEffectiveBlock(x)
#define BLOCK_IS_BLANK(x) ucBlankBlock(x)
#ifdef BANKUSE
#define SET_BANK(x) (BANK = x)
#else
#define SET_BANK(x)
#endif
/*--- RAM declarations --------------------------------------*/
//uchar ucDataBuf[BUFLENGTH]; /* Buffer for EEPROM data manipulation */
uchar ucDataBuf[DATALENGTH+1]; /* Buffer for EEPROM data manipulation */
struct stWordAddress
{
ushort WriteAddress;
uchar WriteBank;
} WordAddr;
//sreg uchar ucEntryRAM[100];
sreg uchar ucEntryRAM[60];
//Call external functions
extern void FlashStart(void);
extern void FlashEnd(void);
extern void FlashEnv(ushort EntryRAM);
extern uchar FlashBlockErase(uchar EraseBank,uchar EraseBlock);
extern uchar FlashWordWrite(struct stWordAddress *ptr,uchar WordNumber,ushort DataBufferAddress);
/*
extern uchar FlashBlockVerify(uchar VerifyBank,uchar VerifyBlock);
*/
extern uchar FlashBlockBlankCheck(uchar BlankCheckBank,uchar BlankCheckBlock);
/*
extern uchar FlashGetInfo(struct stGetInfo *ptr,ushort DataBufferAddress);
extern uchar FlashSetInfo(uchar SetInfoData);
*/
extern uchar CheckFLMD(void);
extern uchar EEPROMWrite(struct stWordAddress *ptr,uchar WordNumber,ushort DataBufferAddress);
/*dddddddddddddddddddddddd */
uchar ucEffectiveBlock(uchar *p);
uchar ucBlankBlock(uchar *p);
ushort usBlockToAddress(ushort usBlock);
uchar ucEEPROMWriteEx(uchar ucBlock,ushort usWriteAdr,ushort usWriteLen,uchar *pDataAddress);
uchar ucEEPROMWriteDrv(uchar ucBlock,ushort usWriteAdr,uchar ucWriteLen);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -