88 lines
3.4 KiB
C
88 lines
3.4 KiB
C
#ifndef _eeprom_H
|
||
#define _eeprom_H
|
||
|
||
|
||
#include "bsp.h"
|
||
#include "stm32l1xx_flash.h"
|
||
|
||
/****************定义EEPROM的存储内容*************
|
||
名称 地址 默认值
|
||
|
||
IOT-IP 0-19 219.238.240.58 (远程TCPSERVER地址)
|
||
IOT-PORT 20-29 9022 (远程TCPSERVER端口)
|
||
WIFI-PORT 30-39 8080 (WIFI本地端口)
|
||
WIFI名称 40-59 lica_esp8266 说明未提到多少位,程序规定最多20
|
||
WIFI密码 60-69 12345678 最少8位密码,最大64位,程序规定为10位
|
||
测量间隔 100-105 600S 范围0-86400 0-24H
|
||
数据传输模式 110-119 暂未使用
|
||
数据上传时间 120-129 00000 小时+分钟默认为0,及测试完毕立即上传,如果小时大于23为立即上传
|
||
设备ID 130-139 暂定设备ID号为10位
|
||
设备参数标志 140 1已经有设备参数 0无
|
||
预约测量时间 150-165 ddhhmmss
|
||
测试模式 166 0 间隔测量模式,1预约测量模式,预约时间>24H,无效,进入间隔测量,
|
||
系统时间千百位 170-171
|
||
TF卡上传起始位置 180-183
|
||
参数修改标志 185 参数被修改后,该标志置1,
|
||
远传文件表头发送标志 186 发送表头后,该标志置1,
|
||
远传文件表头发送日 187
|
||
IAP升级标志 188 0无程序更新 1有程序更新 1
|
||
IAP软件版本号 190-209 主板+软件日期+日期的第几版 V1.0_20220309_99
|
||
APP软件版本号 210-239 主板+软件日期+日期的第几版 V1.0_20220309_99
|
||
|
||
***************************************/
|
||
#define PEKEY1 0x89ABCDEF //FLASH_PEKEYR
|
||
#define PEKEY2 0x02030405 //FLASH_PEKEYR
|
||
|
||
#define EEPROM_BASE_ADDR 0x08080000
|
||
#define EEPROM_BYTE_SIZE 0x3000 //12keeprom存储空间 12288个字节
|
||
|
||
|
||
#define EN_INT __enable_irq(); //系统开全局中断
|
||
#define DIS_INT __disable_irq(); //系统关全局中断
|
||
|
||
#define Bc25_Ip_len 20
|
||
#define Bc25_Port_len 10
|
||
#define ESP8266_AP_SSIDs_len 20
|
||
#define ESP8266_AP_Ports_len 10
|
||
#define ESP8266_AP_PWDs_len 10
|
||
#define Measure_Interval_len 6
|
||
#define Pub_Mode_len 5
|
||
#define Pub_Time_len 10
|
||
#define Equipment_ID_len 10
|
||
#define appointment_time_len 9
|
||
#define measure_mode_len 2
|
||
|
||
#define IAP_Flag_1 1 //有文件更新
|
||
#define IAP_Flag_0 0 //无文件更新
|
||
|
||
void EEPROM_ReadBytes(u16 Addr,u8 *Buffer,u16 Length);
|
||
void EEPROM_ReadWords(u16 Addr,u16 *Buffer,u16 Length);
|
||
void EEPROM_WriteBytes(u16 Addr,u8 *Buffer,u16 Length);
|
||
void EEPROM_WriteWords(u16 Addr,u16 *Buffer,u16 Length);
|
||
void EEPROM_ReadDWords(u16 Addr,u32 *Buffer,u16 Length);
|
||
void EEPROM_WriteDWords(u16 Addr,u32 *Buffer,u16 Length);
|
||
void Clear_eeprom_par(void);
|
||
//定义设备初始化及外部设置的参数
|
||
typedef struct
|
||
{
|
||
char Bc25_Ip[20]; //远程传输设备IP
|
||
char Bc25_Port[10]; //远程传输端口
|
||
char ESP8266_AP_SSIDs[20];//WIFI名称
|
||
char ESP8266_AP_Ports[10];//WIFI端口
|
||
char ESP8266_AP_PWDs[10];//WiFi密码
|
||
char Measure_Interval[Measure_Interval_len];//测量间隔
|
||
char Pub_Mode[5];//暂未使用
|
||
char Pub_Time[10];//数据上传间隔-更改为数据远传间隔,单位S
|
||
char Equipment_ID[10]; //设备编号
|
||
// char Equipment_ID_WKUP[2];
|
||
char appointment_time[9];//预约测量时间 更改为: DDHHMMSS
|
||
char measure_mode[2];
|
||
}Init_Data;
|
||
extern Init_Data Init_Datas;
|
||
extern Init_Data Init_Data_Equipment;
|
||
Init_Data Read_Equipment_Par(void);
|
||
void Write_Equipment_Par(Init_Data Init_Data_Equipmend);
|
||
void clear_Init_Data_Equipment(void);
|
||
void Write_Factory_Par(void);//恢复出厂设置参数
|
||
#endif
|