?? 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 + -