📄 save_rf.c
字号:
#include <SM89516A.H>
#include "init.h"
#include "scan.h"
#include "common.h"
unsigned char xdata RainFall_5Min[rf_dlen][2];
/*********************************************************************
* 函 数 名: void Save_rainfall(void)
* 功能描述: 保存每5分钟雨量
* 函数说明:
* 调用函数: 无
* 全局变量:无
* 输 入: 无
* 返 回: 无
* 设 计 者:
***********************************************************************/
void Save_rainfall(void)
{
unsigned char new_rf[2]={0,0};
static unsigned char len=0,rst=1;
unsigned char i=0,j;
unsigned int Total_RainFall=0;
if(RainFall_5Min[0][0]==0xff)
{
for(i=0;i<rf_dlen;i++)
for(j=0;j<2;j++)
RainFall_5Min[i][j]=0; //每隔5min存储雨量
RainFall_5Min[rf_dlen-1][0]|=0x80;
rst=0;
len=rf_dlen-1;
}
//------------确定当前存储位置----------------
if(rst)
{
rst=0;
for(i=0;i<rf_dlen;i++)
{
if(((RainFall_5Min[i][0]&0x80)==0x80)||(i==(rf_dlen-1)))
{
len=i;
break;
}
}
}
//------------存储雨量数据----------------
if(RainFall_5Min[len][0]&0x80!=0x80)
len=rf_dlen-1;
Total_RainFall=Scan_RainFall*Mult_Rainfall;
RainFall=Total_RainFall/Mult_Rainfall;//增加一行0818 by xupeng
Scan_RainFall=0;
new_rf[1]=(char)Total_RainFall;
new_rf[0]=(char)(Total_RainFall>>8)|0x80;
RainFall_5Min[len][0]&=0x7f;
len++;
if(len>=rf_dlen)
len=0;
RainFall_5Min[len][0]=new_rf[0];
RainFall_5Min[len][1]=new_rf[1];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -