📄 history.c
字号:
#include "KKZQ.H"
//=====================================================================================
// RAM资源
// 占用 6 个字节
//idata uint loadp;
//idata uint his_count;
//idata uint savep;
//idata uint new_card_addr;
//
//=====================================================================================
uchar idata his_cover;
uint idata loadp=0; //下一次读取记录位置序号(指针)
uint idata savep=0; //下一次新纪录存放位置序号(指针)
void read_his_data(); //读历史数据函数
void write_his_data(); //写历史数据函数
void save_hisnum(); //保存历史记录条目数
void load_hisnum(); //读出历史记录条目数
//=================================================================================
//文 件 名 : save_hisnum()
//功 能 : 保存历史记录条目数
//=================================================================================
//
void save_hisnum()
{
eeprom_buf[0]=savep/256;
eeprom_buf[1]=savep%256;
eeprom_buf[2]=loadp/256;
eeprom_buf[3]=loadp%256;
eeprom_buf[4]=his_cover;
write128(5,his_count_addr,&eeprom_buf[0]); //保存历史事件的写入点指针
}
//=================================================================================
//文 件 名 : save_hisnum()
//功 能 : 保存历史记录条目数
//=================================================================================
//
void load_hisnum()
{
read128buf(5,his_count_addr); //保存历史事件计数器+1
savep=(uint)eeprom_buf[0]*256+eeprom_buf[1];
loadp=(uint)eeprom_buf[2]*256+eeprom_buf[3];
his_cover=eeprom_buf[4];
}
//=================================================================================
//文 件 名 : write_his_data()
//功 能 : 保存一条历史数据
//输 入 : 将需要保存的历史数据写入历史数据缓冲区,并标注时间
//寄 存 器 : savep 当前记录号
// history_num 当前保存的记录数
//输 出 :
//文件调用 :
//
//=================================================================================
//
void write_his_data()
{ uint hh;
hh = savep*16+his_addr;
write128(14,hh,&eeprom_buf[0]); //写入1个历史事件
if(++savep>500){savep=0;his_cover=0x80;}
else if(his_cover&0x80){if(loadp<savep){loadp=savep;his_cover|=0x01;}}
save_hisnum();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -