📄 main.c
字号:
#include "process.h"
#include "scan.h"
#include "init.h"
#include "time.h"
#include "string.h"
#include <SM89516A.H>
#include "recframe.h"
#include "cond.h"
#include "i2c.h"
#include "save_rf.h"
/*********************************************************************
* 函 数 名: main
* 功能描述: 主程序
* 函数说明:
* 调用函数: Init()
* 全局变量:无
* 输 入: 无
* 返 回: 无
* 设 计 者:
***********************************************************************/
void main(void)
{
static unsigned char state=0 ;
static char rprf_flg=1,rpwl_flg=1;
static char process_flg=1;
sys_init();
while(1)
{
WatchDog();
switch(state)
{
case 0 :
if((r_time>=rain_cfg)&&(rain_1min>=500)) //自报雨量
{
r_time=0;
Rep_rainfall();
}
state++;
break;
case 1 :
if((l_time>=level_cfg)&&(level_1min>=550))//自报水位
{
l_time=0;
Rep_waterlevel();
rain_1s=0;
}
state++;
break;
case 2 :
if((rain_1s>=50)||(rprf_flg<=0)) //加报雨量处理
{
rain_1s=0;
rprf_flg=Rprf_proc();
if(rprf_flg>0) water_1s=0;
}
state++;
break;
case 3 :
if((water_1s>=50)||(rpwl_flg<=0)) //加报水位处理
{
water_1s=0;
rpwl_flg=Rpwl_proc();
}
state++;
break;
case 4 :
if(svrf_flg) //保存5分钟雨量值标志
{
svrf_flg=0;
W_block(WPAGE4,i2c_addr_rainfall,&RainFall_5Min[0][0],rf_dlen*2);
}
state++;
break;
case 5 :
process_flg=process();
if(process_flg==0) state=0;
else
{
process_1s=0;
state++;
}
break;
case 6 :
if(process_1s>=50) state=0;
break;
default:
state=0;
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -