20260324
This commit is contained in:
327
RTX5_20220316/Driver/eeprom/eeprom.c
Normal file
327
RTX5_20220316/Driver/eeprom/eeprom.c
Normal file
@ -0,0 +1,327 @@
|
||||
/*
|
||||
*********************************************************************************
|
||||
ͷ<>ļ<EFBFBD>
|
||||
*********************************************************************************
|
||||
*/
|
||||
#include "eeprom.h"
|
||||
#include "bsp.h"
|
||||
#include "stm32l1xx_flash.h"
|
||||
|
||||
/*
|
||||
************************************************************************************
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
************************************************************************************
|
||||
*/
|
||||
Init_Data Init_Data_Equipment;
|
||||
|
||||
/*------------------------------------------------------------
|
||||
Func: EEPROM<4F><4D><EFBFBD>ݰ<EFBFBD><DDB0>ֽڶ<D6BD><DAB6><EFBFBD>
|
||||
Note:
|
||||
-------------------------------------------------------------*/
|
||||
void EEPROM_ReadBytes(u16 Addr,u8 *Buffer,u16 Length)
|
||||
{
|
||||
u8 *wAddr;
|
||||
wAddr=(u8 *)(EEPROM_BASE_ADDR+Addr);
|
||||
while(Length--){
|
||||
*Buffer++=*wAddr++;
|
||||
}
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
Func: EEPROM<4F><4D><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>
|
||||
Note:
|
||||
-------------------------------------------------------------*/
|
||||
void EEPROM_ReadWords(u16 Addr,u16 *Buffer,u16 Length)
|
||||
{
|
||||
u32 *wAddr;
|
||||
wAddr=(u32 *)(EEPROM_BASE_ADDR+Addr);
|
||||
while(Length--){
|
||||
*Buffer++=*wAddr;
|
||||
wAddr+=2;
|
||||
}
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
Func: EEPROM<4F><4D><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>˫<EFBFBD><CBAB>
|
||||
Note:
|
||||
-------------------------------------------------------------*/
|
||||
void EEPROM_ReadDWords(u16 Addr,u32 *Buffer,u16 Length)
|
||||
{
|
||||
u32 *wAddr;
|
||||
wAddr=(u32 *)(EEPROM_BASE_ADDR+Addr);
|
||||
while(Length--){
|
||||
*Buffer++=*wAddr;
|
||||
wAddr+=4;
|
||||
}
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
Func: EEPROM<4F><4D><EFBFBD>ݰ<EFBFBD><DDB0>ֽ<EFBFBD>д<EFBFBD><D0B4>
|
||||
Note:
|
||||
-------------------------------------------------------------*/
|
||||
void EEPROM_WriteBytes(u16 Addr,u8 *Buffer,u16 Length)
|
||||
{
|
||||
u8 *wAddr;
|
||||
wAddr=(u8 *)(EEPROM_BASE_ADDR+Addr);
|
||||
FLASH->PEKEYR=PEKEY1; //unlock
|
||||
FLASH->PEKEYR=PEKEY2;
|
||||
while(FLASH->PECR&FLASH_PECR_PELOCK);
|
||||
FLASH->PECR|=FLASH_PECR_FTDW; //not fast write
|
||||
while(Length--){
|
||||
*wAddr++=*Buffer++;
|
||||
while(FLASH->SR&FLASH_SR_BSY);
|
||||
}
|
||||
FLASH->PECR|=FLASH_PECR_PELOCK;
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
Func: EEPROM<4F><4D><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD>д<EFBFBD><D0B4>
|
||||
Note: <20>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
-------------------------------------------------------------*/
|
||||
void EEPROM_WriteWords(u16 Addr,u16 *Buffer,u16 Length)
|
||||
{
|
||||
u32 *wAddr;
|
||||
wAddr=(u32 *)(EEPROM_BASE_ADDR+Addr);
|
||||
|
||||
FLASH->PEKEYR=PEKEY1; //unlock
|
||||
FLASH->PEKEYR=PEKEY2;
|
||||
while(FLASH->PECR&FLASH_PECR_PELOCK);
|
||||
FLASH->PECR|=FLASH_PECR_FTDW; //not fast write
|
||||
while(Length--){
|
||||
*wAddr=*Buffer++;
|
||||
wAddr+=2;
|
||||
while(FLASH->SR&FLASH_SR_BSY);
|
||||
}
|
||||
FLASH->PECR|=FLASH_PECR_PELOCK;
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
Func: EEPROM<4F><4D><EFBFBD>ݰ<EFBFBD>˫<EFBFBD><CBAB>д<EFBFBD><D0B4>
|
||||
Note:
|
||||
-------------------------------------------------------------*/
|
||||
void EEPROM_WriteDWords(u16 Addr,u32 *Buffer,u16 Length)
|
||||
{
|
||||
u32 *wAddr;
|
||||
wAddr=(u32 *)(EEPROM_BASE_ADDR+Addr);
|
||||
FLASH->PEKEYR=PEKEY1; //unlock
|
||||
FLASH->PEKEYR=PEKEY2;
|
||||
while(FLASH->PECR&FLASH_PECR_PELOCK);
|
||||
FLASH->PECR|=FLASH_PECR_FTDW; //not fast write
|
||||
while(Length--){
|
||||
*wAddr=*Buffer++;
|
||||
wAddr+=4;
|
||||
while(FLASH->SR&FLASH_SR_BSY);
|
||||
}
|
||||
FLASH->PECR|=FLASH_PECR_PELOCK;
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* <09><> <20><> <20><>: Read_Equipment_Par()
|
||||
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: EERPOM<4F><4D>ȡ<EFBFBD>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD>
|
||||
* <09><> <20><> <20><><EFBFBD><EFBFBD>
|
||||
* <20><> <20><> <20><>Init_Data_Equipmend
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
Init_Data Read_Equipment_Par(void)
|
||||
{
|
||||
|
||||
Init_Data Init_Data_Equipmend={'\0'};
|
||||
EEPROM_ReadBytes(0, (u8*)Init_Data_Equipmend.Bc25_Ip,Bc25_Ip_len);
|
||||
EEPROM_ReadBytes(20, (u8*)Init_Data_Equipmend.Bc25_Port,Bc25_Port_len);
|
||||
EEPROM_ReadBytes(30, (u8*)Init_Data_Equipmend.ESP8266_AP_Ports,ESP8266_AP_Ports_len);
|
||||
EEPROM_ReadBytes(60, (u8*)Init_Data_Equipmend.ESP8266_AP_PWDs,ESP8266_AP_PWDs_len);
|
||||
EEPROM_ReadBytes(40, (u8*)Init_Data_Equipmend.ESP8266_AP_SSIDs,ESP8266_AP_SSIDs_len);
|
||||
EEPROM_ReadBytes(100, (u8*)Init_Data_Equipmend.Measure_Interval,Measure_Interval_len);
|
||||
EEPROM_ReadBytes(110, (u8*)Init_Data_Equipmend.Pub_Mode,Pub_Mode_len);
|
||||
EEPROM_ReadBytes(120, (u8*)Init_Data_Equipmend.Pub_Time,Pub_Time_len);
|
||||
EEPROM_ReadBytes(130, (u8*)Init_Data_Equipmend.Equipment_ID,Equipment_ID_len);
|
||||
EEPROM_ReadBytes(150, (u8*)Init_Data_Equipmend.appointment_time,appointment_time_len);
|
||||
EEPROM_ReadBytes(166, (u8*)Init_Data_Equipmend.measure_mode,measure_mode_len);
|
||||
EEPROM_ReadBytes(185, &Init_Data_Equipmend.par_change,1);
|
||||
EEPROM_ReadBytes(186, &Init_Data_Equipmend.Bc25_Send_Header,1);
|
||||
EEPROM_ReadBytes(240, (u8*)Init_Data_Equipmend.IOT_Username,IOT_Username_len);
|
||||
EEPROM_ReadBytes(260, (u8*)Init_Data_Equipmend.IOT_Password,IOT_Password_len);
|
||||
EEPROM_ReadBytes(280, (u8*)Init_Data_Equipmend.IOT_Theme_name,IOT_Theme_name_len);
|
||||
|
||||
return Init_Data_Equipmend;
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* <09><> <20><> <20><>: Write_Equipment_Par()
|
||||
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <20>洢<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
* <09><> <20><> <20><><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> Init_Data_Equipmend
|
||||
* <20><> <20><> <20><><EFBFBD><EFBFBD>
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void Write_Equipment_Par(Init_Data Init_Data_Equipmend)
|
||||
{
|
||||
Clear_eeprom_par();
|
||||
EEPROM_WriteBytes(0, (u8*)Init_Data_Equipmend.Bc25_Ip,strlen(Init_Data_Equipmend.Bc25_Ip));
|
||||
EEPROM_WriteBytes(20, (u8*)Init_Data_Equipmend.Bc25_Port,strlen(Init_Data_Equipmend.Bc25_Port));
|
||||
EEPROM_WriteBytes(30, (u8*)Init_Data_Equipmend.ESP8266_AP_Ports,strlen(Init_Data_Equipmend.ESP8266_AP_Ports));
|
||||
EEPROM_WriteBytes(60, (u8*)Init_Data_Equipmend.ESP8266_AP_PWDs,strlen(Init_Data_Equipmend.ESP8266_AP_PWDs));
|
||||
EEPROM_WriteBytes(40, (u8*)Init_Data_Equipmend.ESP8266_AP_SSIDs,strlen(Init_Data_Equipmend.ESP8266_AP_SSIDs));
|
||||
EEPROM_WriteBytes(100, (u8*)Init_Data_Equipmend.Measure_Interval,strlen(Init_Data_Equipmend.Measure_Interval));
|
||||
EEPROM_WriteBytes(110, (u8*)Init_Data_Equipmend.Pub_Mode,strlen(Init_Data_Equipmend.Pub_Mode));
|
||||
EEPROM_WriteBytes(120, (u8*)Init_Data_Equipmend.Pub_Time,strlen(Init_Data_Equipmend.Pub_Time));
|
||||
EEPROM_WriteBytes(130, (u8*)Init_Data_Equipmend.Equipment_ID,strlen(Init_Data_Equipmend.Equipment_ID));
|
||||
EEPROM_WriteBytes(150, (u8*)Init_Data_Equipmend.appointment_time,appointment_time_len);
|
||||
EEPROM_WriteBytes(166, (u8*)Init_Data_Equipmend.measure_mode,1);
|
||||
EEPROM_WriteBytes(185, &Init_Data_Equipmend.par_change,1);
|
||||
EEPROM_WriteBytes(185, &Init_Data_Equipmend.Bc25_Send_Header,1);
|
||||
EEPROM_WriteBytes(140,&Par_store_flag,1);
|
||||
EEPROM_WriteBytes(240, (u8*)Init_Data_Equipmend.IOT_Username,strlen(Init_Data_Equipmend.IOT_Username));
|
||||
EEPROM_WriteBytes(260, (u8*)Init_Data_Equipmend.IOT_Password,strlen(Init_Data_Equipmend.IOT_Password));
|
||||
EEPROM_WriteBytes(280, (u8*)Init_Data_Equipmend.IOT_Theme_name,strlen(Init_Data_Equipmend.IOT_Theme_name));
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* <09><> <20><> <20><>: clear_Init_Data_Equipment()
|
||||
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD>
|
||||
* <09><> <20><> <20><><EFBFBD><EFBFBD>
|
||||
* <20><> <20><> <20><><EFBFBD><EFBFBD>
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void clear_Init_Data_Equipment(void)
|
||||
{
|
||||
memset(Init_Data_Equipment.Bc25_Ip,0,Bc25_Ip_len);
|
||||
memset(Init_Data_Equipment.Bc25_Port,0,Bc25_Port_len);
|
||||
memset(Init_Data_Equipment.ESP8266_AP_Ports,0,ESP8266_AP_Ports_len);
|
||||
memset(Init_Data_Equipment.ESP8266_AP_PWDs,0,ESP8266_AP_PWDs_len);
|
||||
memset(Init_Data_Equipment.ESP8266_AP_SSIDs,0,ESP8266_AP_SSIDs_len);
|
||||
memset(Init_Data_Equipment.Measure_Interval,0,Measure_Interval_len);
|
||||
memset(Init_Data_Equipment.Pub_Mode,0,Pub_Mode_len);
|
||||
memset(Init_Data_Equipment.Pub_Time,0,Pub_Time_len);
|
||||
memset(Init_Data_Equipment.Equipment_ID,0,Equipment_ID_len);
|
||||
memset(Init_Data_Equipment.appointment_time,0,appointment_time_len);
|
||||
memset(Init_Data_Equipment.measure_mode,0,measure_mode_len);
|
||||
memset(Init_Data_Equipment.IOT_Username,0,IOT_Username_len);
|
||||
memset(Init_Data_Equipment.IOT_Password,0,IOT_Password_len);
|
||||
memset(Init_Data_Equipment.IOT_Theme_name,0,IOT_Theme_name_len);
|
||||
Init_Data_Equipment.par_change=0;
|
||||
Init_Data_Equipment.Bc25_Send_Header=0;
|
||||
// Write_Equipment_Par(Init_Data_Equipment);
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* <09><> <20><> <20><>: Clear_eeprom_par()
|
||||
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <20><><EFBFBD><EFBFBD>EEPROM
|
||||
* <09><> <20><> <20><><EFBFBD><EFBFBD>
|
||||
* <20><> <20><> <20><><EFBFBD><EFBFBD>
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void Clear_eeprom_par(void)
|
||||
{
|
||||
uint8_t data=0x00;
|
||||
int i=0;
|
||||
for(i=0;i<300;i++)
|
||||
{
|
||||
EEPROM_WriteBytes(i,&data,1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* <09><> <20><> <20><>: Write_Factory_Par()
|
||||
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* <09><> <20><> <20><><EFBFBD><EFBFBD>
|
||||
* <20><> <20><> <20><><EFBFBD><EFBFBD>
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void Write_Factory_Par(void)
|
||||
{
|
||||
clear_Init_Data_Equipment();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>洢<EFBFBD><E6B4A2>
|
||||
sprintf(Init_Data_Equipment.Bc25_Ip,"%s","\"39.105.230.197\"");
|
||||
sprintf(Init_Data_Equipment.Bc25_Port,"%s","1883");
|
||||
|
||||
// sprintf(Init_Data_Equipment.Bc25_Ip,"%s","\"219.238.240.58\"");
|
||||
// sprintf(Init_Data_Equipment.Bc25_Port,"%s","9027");
|
||||
|
||||
|
||||
sprintf(Init_Data_Equipment.ESP8266_AP_Ports,"%s","8080");
|
||||
sprintf(Init_Data_Equipment.ESP8266_AP_PWDs,"%s","88888888");
|
||||
sprintf(Init_Data_Equipment.ESP8266_AP_SSIDs,"%s","licawifi");
|
||||
sprintf(Init_Data_Equipment.Measure_Interval,"%s","00001");
|
||||
sprintf(Init_Data_Equipment.Pub_Mode,"%s","00");
|
||||
sprintf(Init_Data_Equipment.Pub_Time,"%s","5");
|
||||
sprintf(Init_Data_Equipment.Equipment_ID,"%s","123456789");
|
||||
sprintf(Init_Data_Equipment.appointment_time,"%s","20221130114400");
|
||||
sprintf(Init_Data_Equipment.measure_mode,"%s","0");
|
||||
sprintf(Init_Data_Equipment.IOT_Username,"%s","\"lichao\"");
|
||||
sprintf(Init_Data_Equipment.IOT_Password,"%s","\"910517@lc\"");
|
||||
sprintf(Init_Data_Equipment.IOT_Theme_name,"%s","SM-1000M");
|
||||
Init_Data_Equipment.par_change=0;
|
||||
Init_Data_Equipment.Bc25_Send_Header=0;
|
||||
Write_Equipment_Par(Init_Data_Equipment);
|
||||
Par_store_flag=0x01;
|
||||
EEPROM_WriteBytes(140,&Par_store_flag,1);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* <09><> <20><> <20><>: get_meaidv()
|
||||
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S
|
||||
* <09><> <20><> <20><><EFBFBD><EFBFBD>
|
||||
* <20><> <20><> <20><>measurt_idv_set*60;
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
u32 get_meaidv(void)
|
||||
{
|
||||
uint32_t measurt_idv_set;
|
||||
measurt_idv_set= hexToDec(Init_Data_Equipment.Measure_Interval);
|
||||
return measurt_idv_set*60;
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* <09><> <20><> <20><>: get_pubidv()
|
||||
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <20><>ȡԶ<C8A1><D4B6>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S
|
||||
* <09><> <20><> <20><><EFBFBD><EFBFBD>
|
||||
* <20><> <20><> <20><>pub_idv_set*60
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
u32 get_pubidv(void)
|
||||
{
|
||||
uint32_t pub_idv_set;
|
||||
pub_idv_set=hexToDec(Init_Data_Equipment.Pub_Time);
|
||||
return pub_idv_set*60 + 60*2;
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* <09><> <20><> <20><>: hexToDec()
|
||||
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ת10<31><30><EFBFBD><EFBFBD>
|
||||
* <09><> <20><> <20><><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>shex
|
||||
* <20><> <20><> <20><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mid
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
u16 hexToDec(char *shex)
|
||||
{
|
||||
u16 len,i,mid=0;
|
||||
len=strlen(shex);
|
||||
if(len>8)return 0;
|
||||
for(i=0;i<len;i++)
|
||||
{
|
||||
if (shex[i] >= '0' && shex[i] <= '9')
|
||||
{
|
||||
if(i>0)mid*=10;
|
||||
//mid *= (u16)pow(10,1);
|
||||
mid += (shex[i] - '0');
|
||||
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
return mid;
|
||||
}
|
||||
|
||||
/***************************** END OF FILE *********************************/
|
||||
|
||||
|
||||
102
RTX5_20220316/Driver/eeprom/eeprom.h
Normal file
102
RTX5_20220316/Driver/eeprom/eeprom.h
Normal file
@ -0,0 +1,102 @@
|
||||
#ifndef _eeprom_H
|
||||
#define _eeprom_H
|
||||
|
||||
|
||||
#include "bsp.h"
|
||||
#include "stm32l1xx_flash.h"
|
||||
|
||||
/****************<2A><><EFBFBD><EFBFBD>EEPROM<4F>Ĵ洢<C4B4><E6B4A2><EFBFBD><EFBFBD>*************
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ַ Ĭ<><C4AC>ֵ
|
||||
|
||||
IOT-IP 0-19 219.238.240.58 (Զ<><D4B6>TCPSERVER<45><52>ַ)
|
||||
IOT-PORT 20-29 9022 (Զ<><D4B6>TCPSERVER<45>˿<EFBFBD>)
|
||||
WIFI-PORT 30-39 8080 (WIFI<46><49><EFBFBD>ض˿<D8B6>)
|
||||
WIFI<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 40-59 lica_esp8266 ˵<><CBB5>δ<EFBFBD>ᵽ<EFBFBD><E1B5BD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涨<EFBFBD><E6B6A8><EFBFBD><EFBFBD>20
|
||||
WIFI<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 60-69 12345678 <20><><EFBFBD><EFBFBD>8λ<38><CEBB><EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>64λ<34><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涨Ϊ10λ
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 100-105 600S <20><>Χ0-86400 0-24H
|
||||
<EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD><EFBFBD>ģʽ 110-119 <20><>δʹ<CEB4><CAB9>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>ʱ<EFBFBD><EFBFBD> 120-129 00000 Сʱ+<2B><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ0<CEAA><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сʱ<D0A1><CAB1><EFBFBD><EFBFBD>23Ϊ<33><CEAA><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>
|
||||
<EFBFBD>豸ID 130-139 <20>ݶ<EFBFBD><DDB6>豸ID<49><44>Ϊ10λ
|
||||
<EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ 140 1<>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> 0<><30>
|
||||
ԤԼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> 150-165 ddhhmmss
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ 166 0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>1ԤԼ<D4A4><D4BC><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>ԤԼʱ<D4BC><CAB1>>24H<34><48><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ϵͳʱ<EFBFBD><EFBFBD>ǧ<EFBFBD><EFBFBD>λ 170-171
|
||||
TF<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>ʼλ<EFBFBD><EFBFBD> 180-183
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>־ 185 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺñ<F3A3ACB8>־<EFBFBD><D6BE>1<EFBFBD><31>
|
||||
Զ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD>־ 186 <20><><EFBFBD>ͱ<EFBFBD>ͷ<EFBFBD>ñ<F3A3ACB8>־<EFBFBD><D6BE>1<EFBFBD><31>
|
||||
Զ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 187
|
||||
IAP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ 189-190 0<><EFBFBD><DEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1
|
||||
IAP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD> 190-209 <20><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><><EFBFBD>ڵĵڼ<C4B5><DABC><EFBFBD> V1.0_20220309_99
|
||||
APP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD> 210-239 <20><><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><><EFBFBD>ڵĵڼ<C4B5><DABC><EFBFBD> V1.0_20220309_99
|
||||
IOT-Username 240-259 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
|
||||
IOT-Password 260-279 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
IOT-Theme-name 280-299 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
***************************************/
|
||||
#define PEKEY1 0x89ABCDEF //FLASH_PEKEYR
|
||||
#define PEKEY2 0x02030405 //FLASH_PEKEYR
|
||||
|
||||
#define EEPROM_BASE_ADDR 0x08080000
|
||||
#define EEPROM_BYTE_SIZE 0x3000 //12keeprom<6F>洢<EFBFBD>ռ<EFBFBD> 12288<38><38><EFBFBD>ֽ<EFBFBD>
|
||||
|
||||
|
||||
#define EN_INT __enable_irq(); //ϵͳ<CFB5><CDB3>ȫ<EFBFBD><C8AB><EFBFBD>ж<EFBFBD>
|
||||
#define DIS_INT __disable_irq(); //ϵͳ<CFB5><CDB3>ȫ<EFBFBD><C8AB><EFBFBD>ж<EFBFBD>
|
||||
|
||||
#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 20
|
||||
#define Measure_Interval_len 6
|
||||
#define Pub_Mode_len 5
|
||||
#define Pub_Time_len 6
|
||||
#define Equipment_ID_len 10
|
||||
#define appointment_time_len 15
|
||||
#define measure_mode_len 2
|
||||
#define par_change_len 1
|
||||
#define IOT_Username_len 20
|
||||
#define IOT_Password_len 20
|
||||
#define IOT_Theme_name_len 20
|
||||
|
||||
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);
|
||||
u32 get_meaidv(void);
|
||||
u32 get_pubidv(void);
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>õIJ<C3B5><C4B2><EFBFBD>
|
||||
typedef struct
|
||||
{
|
||||
char Bc25_Ip[Bc25_Ip_len]; //Զ<>̴<EFBFBD><CCB4><EFBFBD><EFBFBD>豸IP
|
||||
char Bc25_Port[Bc25_Port_len]; //Զ<>̴<EFBFBD><CCB4><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||
char ESP8266_AP_SSIDs[ESP8266_AP_SSIDs_len];//WIFI<46><49><EFBFBD><EFBFBD>
|
||||
char ESP8266_AP_Ports[ESP8266_AP_Ports_len];//WIFI<46>˿<EFBFBD>
|
||||
char ESP8266_AP_PWDs[ESP8266_AP_PWDs_len];//WiFi<46><69><EFBFBD><EFBFBD>
|
||||
char Measure_Interval[Measure_Interval_len];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
char Pub_Mode[Pub_Mode_len];//<2F><>δʹ<CEB4><CAB9>
|
||||
char Pub_Time[Pub_Time_len];//<2F><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λS
|
||||
char Equipment_ID[Equipment_ID_len]; //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
// char Equipment_ID_WKUP[2];
|
||||
char appointment_time[appointment_time_len];//ԤԼ<D4A4><D4BC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA> yyyymmDDHHMMSS
|
||||
char measure_mode[measure_mode_len];
|
||||
uint8_t par_change;
|
||||
uint8_t Bc25_Send_Header;
|
||||
char IOT_Username[IOT_Username_len]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
|
||||
char IOT_Password[IOT_Password_len]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
char IOT_Theme_name[IOT_Theme_name_len];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}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);//<2F>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
||||
|
||||
u16 hexToDec(char *shex);
|
||||
#endif
|
||||
Reference in New Issue
Block a user