📄 scan.c
字号:
#include "scan.h"
#include "ioport.h"
#include "string.h"
#include <SM89516A.H>
#include "common.h"
#include "process.h"
#include "recframe.h"
unsigned char water[2];
uint xdata Scan_WaterLevel[5];
ulong xdata WaterLevel;
ulong xdata Basic_WaterLevel=0;
ulong xdata RainFall;
uchar xdata Mult_Rainfall=0;
uint xdata Scan_RainFall=0;
uchar io_status;
uchar bak_status;
void Scan_Level(void)
{
water1=0xff;
water2=0x0f;
water[1]=water1;
water[0]=water2&0x0f;
}
void Scan_Rain(void)
{
if((rain&0x80)==0x00)
{
io_status=1;
bak_status=1;
}
else
io_status=0;
}
void count(void)
{
//去掉了RainFall++; by xupeng
Scan_RainFall++;
}
void Rain_Process(void)
{
if((io_status==0)&&(bak_status==1))
{
bak_status=0;
count();
}
}
unsigned int gray_to_bin(unsigned int tmp)
{
unsigned int x=tmp;
while(x>>=1)
{
tmp^=x;
}
return tmp;
}
void Level_Process(void)
{
static unsigned char i=0;
unsigned int in_waterlevel=0;
unsigned int out_waterlevel=0;
in_waterlevel=((water[0]&0x0f)<<8)|water[1];
out_waterlevel=gray_to_bin(in_waterlevel);
Scan_WaterLevel[i]=out_waterlevel;
i++;
if(i>=5) i=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -