📄 eeprom.c
字号:
#define EEPROM_C 1
#include "inc/config.h"
/************************************************************************************
**-------------------- file name : EEPROM.c -----------------------------------
** author:
** date: 20080201
** version: 1.0
** remaks
**--------------------------------------------------------------
** modify:
** author:
** date:
**-----------------------------------------------------------------------------------
************************************************************************************/
/** the global variables used by eeprom **/
//--------------------------------------
int16 TH =1350 ; //温度上限启动值
int16 TH_Z =999 ; //温度上限返回值
int16 TL =-50 ; //温度上限启动值
int16 TL_Z =100 ; //温度上限返回值
//--------------------------------------
u08 HH = 90 ; //湿度上限启动值
u08 BAUDRATE;
u08 AUTOSWITCH;
/*****************************************************************************
*-----------------------------------------------------------------------------
* subroutine: read_byte_from_eeprom(u08 eeprom_adress)
* function: used by keyprocess ,compare relay
* globle variable:
* date: 2006.09.16
* author:
* abstract:
******************************************************************************/
uint8 read_byte_from_eeprom(uint16 eeprom_adress)
{
return ( eeprom_read_byte (( u08 *)eeprom_adress) );
}
/*****************************************************************************
*-----------------------------------------------------------------------------
* subroutine: write_byte_to_eeprom(u08 eeprom_adress)
* function: used by keyprocess ,compare relay
* globle variable:
* date: 2006.09.17
* author:
* abstract:
*-----------------------------------------------------------------------------
******************************************************************************/
BOOL write_byte_to_eeprom(uint16 eeprom_adress,u08 value)
{
eeprom_write_byte ((u08 *)(eeprom_adress), (u08)(value));
return OK;
}
/*****************************************************************************
** name: void SynE2prom(void )
** date: 20060917
** purpose: synchronize the variables in ram and eeprom
** abstract:
**
** -------------------------------------------------------------------------
** note
*****************************************************************************/
#define EEPROM_START_ADRESS 0x20
void SynRamFromE2prom(void )
{
///////######################################################################
TH =(int16) (( read_byte_from_eeprom(EEPROM_START_ADRESS)<<8)
+ read_byte_from_eeprom(EEPROM_START_ADRESS+1));
TH_Z = (int16)(( read_byte_from_eeprom(EEPROM_START_ADRESS+2)<<8)
+ read_byte_from_eeprom(EEPROM_START_ADRESS+3));
///////######################################################################
TL = (int16)(( read_byte_from_eeprom(EEPROM_START_ADRESS+4)<<8)
+ read_byte_from_eeprom(EEPROM_START_ADRESS+5));
TL_Z = (int16)(( read_byte_from_eeprom(EEPROM_START_ADRESS+6)<<8)
+ read_byte_from_eeprom(EEPROM_START_ADRESS+7));
HH = read_byte_from_eeprom(EEPROM_START_ADRESS+8);
}
void SynE2promFromRam(void )
{
write_byte_to_eeprom(EEPROM_START_ADRESS,HIGHBYTE(TH)) ;
write_byte_to_eeprom(EEPROM_START_ADRESS+1,LOWBYTE(TH )) ;
write_byte_to_eeprom(EEPROM_START_ADRESS+2,HIGHBYTE(TH_Z )) ;
write_byte_to_eeprom(EEPROM_START_ADRESS+3,LOWBYTE(TH_Z )) ;
write_byte_to_eeprom(EEPROM_START_ADRESS+4,HIGHBYTE(TL )) ;
write_byte_to_eeprom(EEPROM_START_ADRESS+5,LOWBYTE(TL )) ;
write_byte_to_eeprom(EEPROM_START_ADRESS+6,HIGHBYTE(TL_Z )) ;
write_byte_to_eeprom(EEPROM_START_ADRESS+7,LOWBYTE(TL_Z )) ;
write_byte_to_eeprom(EEPROM_START_ADRESS+8,HH ) ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -