河北水利局项目

This commit is contained in:
2025-12-15 16:07:49 +08:00
commit f11a7c2b95
1146 changed files with 452892 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
#include "meterseltable.h"
#include "bl24c512.h"
//#include "GWD13762.h"
#include "filesave.h"
extern u32 Dwbin2bcd(u32 bin);
struct meterseltable_struct
{
u8 addr[METER_ADDR_LEN];
u8 type;
};
static struct meterseltable_struct meterseltable[METERTABLE_NUM_MAX];
static u16 meterseltablenum=0;
//u8
void meterseltable_init()
{
meterseltablenum = 0;
memset(meterseltable,0,sizeof(meterseltable));
}
u16 meterseltable_getnum()
{
if(meterseltablenum>METERTABLE_NUM_MAX)
{
meterseltable_init();
}
return meterseltablenum;
}
u8 * meterseltable_getadddr(u16 index)
{
if(index<meterseltablenum)
{
return meterseltable[index].addr;
}
return NULL;
}
bool meterseltable_find(const u8 * addr,u16 * index)
{
u16 i = 0;
for (i=0; i<meterseltable_getnum(); i++)
{
if(0 == memcmp(meterseltable_getadddr(i),addr,METER_ADDR_LEN))
{
* index = i;
return true;
}
}
return false;
}
void meterseltable_add(const u8 * addr,const u8 type)
{
u16 index = 0;
if(!meterseltable_find(addr,&index))
{
if(meterseltablenum < METERTABLE_NUM_MAX )
{
memmove(meterseltable[meterseltablenum].addr,addr,METER_ADDR_LEN);
meterseltable[meterseltablenum].type = type;
meterseltablenum ++;
}
}
}

View File

@@ -0,0 +1,15 @@
#ifndef __METERSELTABLE_H__
#define __METERSELTABLE_H__
#include "include.h"
void meterseltable_init();
bool meterseltable_find(const u8 * addr,u16 * index);
void meterseltable_add(const u8 * addr,const u8 type);
u8 * meterseltable_getadddr(u16 index);
u16 meterseltable_getnum();
#endif