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

📄 eeprom.h

📁 TC35i收发短信的源代码
💻 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 + -