#include "file.h" #include "filedata.h" #include "General.h" #include "Mem.h" extern u8 GetSum(u8 * buffer, u16 length); extern bool I2C_eeprom_write_buf(u16 startAddr, u8 * buf, u16 length); extern bool I2C_eeprom_read_buf(u16 addr, u8 * buf, u16 length); void waterdata_printf(struct waterdata_struct * waterdata); void hb_waterdata_write(u16 count,uint8_t * buf,uint16_t len) { if(count%05d count=%04d ",datapos,count); waterdata_printf(waterdata); memset(Buf, 0, 64); I2C_eeprom_read_buf(datapos,(uint8_t *)Buf, len); HT_PRINT("<---%05d count=%04d ",datapos,count); waterdata_printf(waterdata); if(0 !=memcmp(buf,Buf,len)) { HT_PRINT("!!!file_waterdata_write error\r\n"); } #endif } } void hb_waterdata_read(u16 count,uint8_t * buf,uint16_t len) { if(countinvalid,WATERDATA_LEN); HT_PRINT("valid=%02x ",waterdata->invalid); HT_PRINT("current=%02x%02x%02x%02x%02x ",waterdata->current[0],waterdata->current[1],waterdata->current[2],waterdata->current[3],waterdata->current[4]);//取水口流量 5 HT_PRINT("sum=%02x%02x%02x%02x%02x ",waterdata->sum[0],waterdata->sum[1],waterdata->sum[2],waterdata->sum[3],waterdata->sum[4]);//取水口累计流量 5 HT_PRINT("surplus=%02x%02x%02x%02x%02x%02x ",waterdata->surplus[0],waterdata->surplus[1],waterdata->surplus[2],waterdata->surplus[3],waterdata->surplus[4],waterdata->surplus[5]);//水表1剩余水量 6 HT_PRINT("ala=%02x%02x%02x%02x ",waterdata->ala[0],waterdata->ala[1],waterdata->ala[2],waterdata->ala[3]);//遥测状态及报警信息 4 HT_PRINT("vol=%02x%02x ",waterdata->vol[0],waterdata->vol[1]);//蓄电池电压 2 HT_PRINT("csq=%02x ",waterdata->csq);//csq信号强度 1 HT_PRINT("time=%02x-%02x-%02x %02x ",waterdata->year,waterdata->mon,waterdata->day,waterdata->hour);//csq信号强度 1 HT_PRINT("ck1=%02x ck2=%02x\r\n",waterdata->crc,ck); #endif } void data_printf() { struct waterdata_struct waterdata; printf("\r\n计数 有效 流量 累计 剩余 状态 电压 CSQ信号强度 年月日时 校验\r\n"); for(u16 i = 0;i