?? eeprom.c
字號:
/******************************************************************************
EEPROM子程序(以下子程序參考或采用ST公司MCD Application Team提供的相關子程序)
******************************************************************************/
#include "ST7lib_config.h" /* 芯片選擇 */
#include "EEPROM_hr.h" /* 常數聲明 */
#include "EEPROM.h" /* EEPROM函數原型定義 */
/*-----------------------------------------------------------------------------
子程序名稱 : EEPROM_Read
輸入 : *PtrToUsrBuffer - 用戶地址,存貯數據的地方
NbOfBytes - 從EEPROM讀出數據的字節數
*PtrToE2Buffer - EEPROM內存地址,讀取數據的地址
輸出 : 無
描述 : 從EEPROM讀數據并將數據存放到用戶緩存器
注釋 : 無
-----------------------------------------------------------------------------*/
void EEPROM_Read (unsigned char * PtrToUsrBuffer, unsigned char NbOfBytes,
@near unsigned char * PtrToE2Buffer)
{
unsigned char Temp ;
EECSR &= EEPROM_DEFAULT; /* 使能讀操作 */
for (Temp = 0; Temp < NbOfBytes; Temp ++)
{ /* 數據從EEPROM存放到用戶緩存器 */
(*(PtrToUsrBuffer+ Temp )) = (*(PtrToE2Buffer+ Temp ));
}
}
/*-----------------------------------------------------------------------------
子程序名稱 : EEPROM_Write
輸入 : *PtrToUsrBuffer - 用戶地址,存貯有數據的地方
NbOfBytes - 要寫到EEPROM中的字節數
*PtrToE2Buffer - EEPROM內存地址,寫入數據的地址
輸出 : 無
描述 : 從緩存器寫數據到EEPROM
注釋 : 無
-----------------------------------------------------------------------------*/
void EEPROM_Write (unsigned char * PtrToUsrBuffer, unsigned char NbOfBytes,
@near unsigned char * PtrToE2Buffer)
{
unsigned char Temp ;
EECSR |=WRITE_ENABLE; /* 使能寫模式 */
EECSR &=PROG_ENABLE; /* 初始化寫狀態標志 */
for (Temp = 0; Temp < NbOfBytes; Temp ++)
{ /* 從緩存器寫數據到EEPROM */
(*(PtrToE2Buffer + Temp)) = (*(PtrToUsrBuffer+ Temp));
}
}
/*-----------------------------------------------------------------------------
子程序名稱 : EEPROM_Programming
輸入 : 無
輸出 : PROG_COMPLETE - 如果燒寫完成
PROG_PROGRESS - 如果燒寫未完成
描述 : 數據從緩存器寫到EEPROM并且返回燒寫的狀態
注釋 : 該函數可以循環,直到燒寫完畢
-----------------------------------------------------------------------------*/
Prog_Status EEPROM_Programming (void)
{
if ((EECSR & WRITE_ENABLE) )
{ /* 當寫模式選擇時,使能燒寫狀態位 */
if(!(EECSR & PROG_PROGRESS))
{
EECSR |= PROG_PROGRESS;
}
return (EEPROM_PROG_PROGRESS) ;
}
else
{ /* 燒寫完成,或者尚未開始 */
return (EEPROM_PROG_COMPLETE) ;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -