This commit is contained in:
2026-04-23 10:50:18 +08:00
commit a436fda935
844 changed files with 272643 additions and 0 deletions

View File

@ -0,0 +1,481 @@
/*
*****************************************************************
ͷ<>ļ<EFBFBD>
*****************************************************************
*/
#include "usart4.h"
/*
************************************************************************************
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
************************************************************************************
*/
char temp_data[100];
//<2F><><EFBFBD>ڽ<EFBFBD><DABD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>
u8 USART4_TX_BUF[USART4_MAX_SEND_LEN]; //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
/*
*********************************************************************************************************
* <09><> <20><> <20><>: USART4_Configuration()
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <20><><EFBFBD><EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD>
* <09><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>baund
* <20><> <20><> <20><><EFBFBD><EFBFBD>
*********************************************************************************************************
*/
void USART4_Configuration(u32 baund)
{
USART_InitTypeDef USART_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART4, ENABLE); //ʹ<><CAB9>USART4
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE); //GPIOcʱ<63><CAB1>
USART_DeInit(UART4); //<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>1
//USART1_TX PA.9
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
//USART1_RX PA.10
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_PinAFConfig(GPIOC, GPIO_PinSource11, GPIO_AF_UART4);
GPIO_PinAFConfig(GPIOC, GPIO_PinSource10, GPIO_AF_UART4);
USART_InitStructure.USART_BaudRate = baund;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(UART4,&USART_InitStructure);
USART_Cmd(UART4,ENABLE);
//Usart1 NVIC <20><><EFBFBD><EFBFBD>
NVIC_InitStructure.NVIC_IRQChannel = UART4_IRQn;//<2F><><EFBFBD><EFBFBD>1<EFBFBD>ж<EFBFBD>ͨ<EFBFBD><CDA8>
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=5;//<2F><>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD>3
NVIC_InitStructure.NVIC_IRQChannelSubPriority =0; //<2F><><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>3
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQͨ<51><CDA8>ʹ<EFBFBD><CAB9>
NVIC_Init(&NVIC_InitStructure); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>VIC<49>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>
USART_ITConfig(UART4,USART_IT_RXNE,ENABLE);//<2F><><EFBFBD><EFBFBD>USART1<54>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD>жϺͿ<CFBA><CDBF><EFBFBD><EFBFBD>ж<EFBFBD>
USART_ClearFlag(UART4,USART_FLAG_TC); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
USART_ITConfig(UART4,USART_IT_IDLE,ENABLE);//<2F><><EFBFBD><EFBFBD>USART1<54>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD>жϺͿ<CFBA><CDBF><EFBFBD><EFBFBD>ж<EFBFBD>
}
/*
*********************************************************************************************************
* <09><> <20><> <20><>: Usart4_ReceiveBuff_Clear()
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <20><><EFBFBD><EFBFBD>4<EFBFBD><34><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>
* <09><> <20><> <20><><EFBFBD><EFBFBD>
* <20><> <20><> <20><><EFBFBD><EFBFBD>
*********************************************************************************************************
*/
void Usart4_ReceiveBuff_Clear(void)
{
ESP8266_Fram_Record_Struct .InfBit .FramFinishFlag=0;
ESP8266_Fram_Record_Struct .InfBit .FramLength=0;
memset(ESP8266_Fram_Record_Struct.Data_RX_BUF,0,RX_BUF_MAX_LEN);
//memset(USART4_TX_BUF,0,USART4_MAX_SEND_LEN);
}
/*
*********************************************************************************************************
* <09><> <20><> <20><>: UART4_IRQHandler()
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <20><><EFBFBD><EFBFBD>4<EFBFBD>жϺ<D0B6><CFBA><EFBFBD>
* <09><> <20><> <20><><EFBFBD><EFBFBD>
* <20><> <20><> <20><><EFBFBD><EFBFBD>
*********************************************************************************************************
*/
void UART4_IRQHandler(void)
{
u8 ucCh;
if(USART_GetITStatus( UART4, USART_IT_RXNE ) != RESET )
{
ucCh = USART_ReceiveData( UART4 );
if(ESP8266_Fram_Record_Struct .InfBit .FramLength < ( RX_BUF_MAX_LEN - 1 ) )
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һλ<D2BB><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
ESP8266_Fram_Record_Struct .Data_RX_BUF[ ESP8266_Fram_Record_Struct .InfBit .FramLength ++ ] = ucCh;
}
else
{
ESP8266_Fram_Record_Struct .InfBit .FramLength = 0;
ESP8266_Fram_Record_Struct .InfBit .FramFinishFlag = 1;
}
}
if(USART_GetITStatus( UART4, USART_FLAG_ORE ) != RESET )
{
USART_ReceiveData(UART4);
USART_ClearFlag(UART4, USART_FLAG_ORE);
}
if( USART_GetITStatus( UART4, USART_IT_IDLE ) != RESET ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>
{
ESP8266_Fram_Record_Struct .InfBit .FramFinishFlag = 1;
ucCh = USART_ReceiveData( UART4 ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־λ<D6BE><CEBB><EFBFBD>ȶ<EFBFBD>USART_SR,Ȼ<><C8BB><EFBFBD><EFBFBD>USART_DR<44><52>
}
}
/*
*********************************************************************************************************
* <09><> <20><> <20><>: u4_printf()
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <20><><EFBFBD><EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD>
* <09><> <20><> <20><>
* <20><> <20><> <20><>
*********************************************************************************************************
*/
void u4_printf(char* fmt,...)
{
u16 i,j;
va_list ap;
va_start(ap,fmt);
vsprintf((char*)USART4_TX_BUF,fmt,ap);
va_end(ap);
i=strlen((const char*)USART4_TX_BUF); //<2F>˴η<CBB4><CEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵij<DDB5><C4B3><EFBFBD>
for(j=0;j<i;j++) //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
while(USART_GetFlagStatus(UART4,USART_FLAG_TC)==RESET); //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
USART_SendData(UART4,USART4_TX_BUF[j]);
}
}
/*
*********************************************************************************************************
* <09><> <20><> <20><>: USART4_Recieve_Ide()
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: WIFI<46><49><EFBFBD><EFBFBD>
* <09><> <20><> <20><><EFBFBD><EFBFBD>
* <20><> <20><> <20><><EFBFBD><EFBFBD>
*********************************************************************************************************
*/
u8 USART4_Recieve_Ide(void)
{
u8 i = 0;
u16 temp_u16=0;
char *recString;
char *recStringNext;
char adda;
char year_head[3];
char hhmmss[7]={'\0'},yymmdd[10]={'\0'};
char test[100]={"\r\n+IPD,0,52:parw-2,\"111.198.24.44\",1883,licawifi,88888888,8080,\"lichao\",\"910517@lc\",\"bc25test\",*"};
Init_Data Init_Data_Equipment_temp;
Init_Data_Equipment_temp=Read_Equipment_Par();//<2F><>ȡ<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
if( ESP8266_Fram_Record_Struct .InfBit .FramFinishFlag==1)
{
/************<2A>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>***********/
if((strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parw-rst")!=NULL))//<2F><><EFBFBD>ջָ<D5BB><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
Write_Factory_Par();
EEPROM_ReadBytes(140,&Par_store_flag,1);
if(Par_store_flag)ESP8266_SendString(DISABLE,"parw-rst,OK,*",13,0);
else ESP8266_SendString(DISABLE,"parw-rst,fail,*",15,0);
}
/*д<><D0B4>******<2A>豸ID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԤԼʱ<D4BC><EFBFBD><E4A1A2><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>Զ<EFBFBD><D4B6>ʱ<EFBFBD><CAB1>*********/
if((strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parw-1")!=NULL))//<2F>жϽ<D0B6><CFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
memset(temp_data,0,100);
for (i = 0 ; i < 5 ; i++)
{
if (i == 0)
{
if ((recString = strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parw-1")) == NULL)
;
recString+=6;
}
else
{
recString++;
if((recStringNext = strstr(recString, ",")) != NULL)
{
switch(i)
{
case 1: memset(Init_Data_Equipment.Equipment_ID,0,10);
memcpy(Init_Data_Equipment.Equipment_ID, recString, recStringNext - recString);
case 2: memset(Init_Data_Equipment.Measure_Interval,0,5);
memcpy(Init_Data_Equipment.Measure_Interval, recString, recStringNext - recString);
temp_u16=hexToDec(Init_Data_Equipment.Measure_Interval);
memset(Init_Data_Equipment.Measure_Interval,0,5);
sprintf(Init_Data_Equipment.Measure_Interval,"%d",temp_u16);
break; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
case 3: memset(Init_Data_Equipment.appointment_time,0,appointment_time_len);
memcpy(Init_Data_Equipment.appointment_time, recString, recStringNext - recString);break; //ԤԼʱ<D4BC><CAB1>
case 4: memset(Init_Data_Equipment.measure_mode,0,1);
memcpy(Init_Data_Equipment.measure_mode, recString, recStringNext - recString);break; //<2F><><EFBFBD><EFBFBD>ģʽ
default:break;
}
}
recString=recStringNext;
if(i==4)
{
recString++;
recStringNext=strstr(recString,",*");
memset(Init_Data_Equipment.Pub_Time,0,Pub_Time_len);
memcpy(Init_Data_Equipment.Pub_Time, recString, recStringNext - recString);
temp_u16=hexToDec(Init_Data_Equipment.Pub_Time);//
if(temp_u16<1)temp_u16=1;
memset(Init_Data_Equipment.Pub_Time,0,Pub_Time_len);
sprintf(Init_Data_Equipment.Pub_Time,"%d",temp_u16);
}
}
}
if(hexToDec(Init_Data_Equipment.Measure_Interval)<1)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>min
sprintf(Init_Data_Equipment.Measure_Interval,"%s","00001");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С60S
Write_Equipment_Par(Init_Data_Equipment);
ESP8266_SendString(DISABLE,"parw-1,OK,*",11,0);
if(strcmp(Init_Data_Equipment_temp.Equipment_ID,Init_Data_Equipment.Equipment_ID)||
strcmp(Init_Data_Equipment_temp.Measure_Interval,Init_Data_Equipment.Measure_Interval)||
strcmp(Init_Data_Equipment_temp.appointment_time,Init_Data_Equipment.appointment_time)||
strcmp(Init_Data_Equipment_temp.measure_mode,Init_Data_Equipment.measure_mode)||
strcmp(Init_Data_Equipment_temp.Pub_Time,Init_Data_Equipment.Pub_Time))
{
Init_Data_Equipment.par_change=1;
EEPROM_WriteBytes(185, &Init_Data_Equipment.par_change,1);
}
if((Init_Data_Equipment.measure_mode[0]=='1') && (IsAppointmentRight()))
{
Measure_Ap_S();
}
if(strcmp(Init_Data_Equipment_temp.measure_mode,Init_Data_Equipment.measure_mode)==0)//ģʽδ<CABD><CEB4>
{
}
else//ģʽ<C4A3>ı<EFBFBD>
{
if(Init_Data_Equipment.measure_mode[0]=='0')
Measure_Ap_E();
}
}
/*д<><D0B4>******Զ<><D4B6>IP<49><50>Զ<EFBFBD><D4B6><EFBFBD>˿ڡ<CBBF>wifi<66><69><EFBFBD>ơ<EFBFBD>wifi<66><69><EFBFBD>롢wifi<66>˿<EFBFBD>*********/
if((strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parw-2")!=NULL)&(strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "\"")!=NULL))
{
//memcpy(ESP8266_Fram_Record_Struct.Data_RX_BUF,test,100);
for (i = 0 ; i < 9 ; i++)
{
if (i == 0)
{
if ((recString = strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parw-2")) != NULL)
;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
recString+=6;
}
else
{
recString++;
if((recStringNext = strstr(recString, ",")) != NULL)
{
switch(i)
{
case 1: memset(Init_Data_Equipment.Bc25_Ip,0,20);
memcpy(Init_Data_Equipment.Bc25_Ip, recString, recStringNext - recString);break; //iot ip
case 2: memset(Init_Data_Equipment.Bc25_Port,0,10);
memcpy(Init_Data_Equipment.Bc25_Port, recString, recStringNext - recString);break; //iot port
case 3: memset(Init_Data_Equipment.ESP8266_AP_SSIDs,0,20);
memcpy(Init_Data_Equipment.ESP8266_AP_SSIDs, recString, recStringNext - recString);break; //wifi <20><><EFBFBD><EFBFBD>
case 4: memset(Init_Data_Equipment.ESP8266_AP_PWDs,0,10);
memcpy(Init_Data_Equipment.ESP8266_AP_PWDs, recString, recStringNext - recString);break; //wifi <20><><EFBFBD><EFBFBD>
case 5: memset(Init_Data_Equipment.ESP8266_AP_Ports,0,10);
memcpy(Init_Data_Equipment.ESP8266_AP_Ports, recString, recStringNext - recString);break; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
case 6: memset(Init_Data_Equipment.IOT_Username,0,20);
memcpy(Init_Data_Equipment.IOT_Username, recString, recStringNext - recString);break; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
case 7: memset(Init_Data_Equipment.IOT_Password,0,20);
memcpy(Init_Data_Equipment.IOT_Password, recString, recStringNext - recString);break; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
case 8: memset(Init_Data_Equipment.IOT_Theme_name,0,20);
memcpy(Init_Data_Equipment.IOT_Theme_name, recString, recStringNext - recString);break; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
default:break;
}
}
recString=recStringNext;
}
}
// memcpy(Init_Data_Equipment.ESP8266_AP_Ports, recString+1, 4); //<2F><>ȡwifi port
Write_Equipment_Par(Init_Data_Equipment);
ESP8266_SendString(DISABLE,"parw-2,OK,*",11,0);
if(strcmp(Init_Data_Equipment_temp.Bc25_Ip,Init_Data_Equipment.Bc25_Ip)||
strcmp(Init_Data_Equipment_temp.Bc25_Port,Init_Data_Equipment.Bc25_Port)||
strcmp(Init_Data_Equipment_temp.ESP8266_AP_SSIDs,Init_Data_Equipment.ESP8266_AP_SSIDs)||
strcmp(Init_Data_Equipment_temp.ESP8266_AP_PWDs,Init_Data_Equipment.ESP8266_AP_PWDs)||
strcmp(Init_Data_Equipment_temp.ESP8266_AP_Ports,Init_Data_Equipment.ESP8266_AP_Ports)||
strcmp(Init_Data_Equipment_temp.IOT_Username,Init_Data_Equipment.IOT_Username)||
strcmp(Init_Data_Equipment_temp.IOT_Password,Init_Data_Equipment.IOT_Password)||
strcmp(Init_Data_Equipment_temp.IOT_Theme_name,Init_Data_Equipment.IOT_Theme_name)
)
{
Init_Data_Equipment.par_change=1;
EEPROM_WriteBytes(185, &Init_Data_Equipment.par_change,1);
}
}
/*д<><D0B4>******<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*********/
if((strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parw-3")!=NULL))
{
if ((recString = strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parw-3,1")) != NULL)
{
//u5_printf("TASKRUNSS.Test_RUN :%d\r\n",TASKRUNSS.Test_RUN);
if(TASKRUNSS.Test_RUN)//<2F>жϲ<D0B6><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ռ<EFBFBD><D5BC>
{
//ESP8266_SendString(DISABLE,"parw-3,busy\r\n",13,0);
ESP8266_SendString(DISABLE,"parw-3,OK,*",11,0);
}else
{
//TASKRUNSS.Test_RUN=1;
MYITStatus1.WKUP_Test_WIFI=1;
//
ESP8266_SendString(DISABLE,"parw-3,OK,*",11,0);
}
MYITStatus1.WKUP_Test_WIFI=1;
}
if ((recString = strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parw-3,0")) != NULL)
{
//<2F><><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9>չ
}
}
/*<2A><><EFBFBD><EFBFBD>******ϵͳʱ<CDB3><CAB1>*********/
if((recString=strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parw-4")) !=NULL)
{
memset(temp_data,0,100);
recString+=7;
memcpy(temp_data, recString, 13); //<2F><>ȡϵͳʱ<CDB3><CAB1>
if(((temp_data[4]-'0')*10+(temp_data[5]-'0')*1)>12|
((temp_data[6]-'0')*10+(temp_data[7]-'0')*1)>31|
((temp_data[8]-'0')*10+(temp_data[9]-'0')*1)>23|
((temp_data[10]-'0')*10+(temp_data[11]-'0')*1)>59|
((temp_data[12]-'0')*10+(temp_data[13]-'0')*1)>59)
{
ESP8266_SendString(DISABLE,"parw-4,fail,*",13,0);
}else
{
SetRTC(
((temp_data[2]-'0')*10+(temp_data[3]-'0')*1),
((temp_data[4]-'0')*10+(temp_data[5]-'0')*1),
((temp_data[6]-'0')*10+(temp_data[7]-'0')*1),
((temp_data[8]-'0')*10+(temp_data[9]-'0')*1),
((temp_data[10]-'0')*10+(temp_data[11]-'0')*1),
((temp_data[12]-'0')*10+(temp_data[13]-'0')*1)
);
DS3231_Set(
((temp_data[2]-'0')*10+(temp_data[3]-'0')*1),
((temp_data[4]-'0')*10+(temp_data[5]-'0')*1),
((temp_data[6]-'0')*10+(temp_data[7]-'0')*1),
((temp_data[8]-'0')*10+(temp_data[9]-'0')*1),
((temp_data[10]-'0')*10+(temp_data[11]-'0')*1),
((temp_data[12]-'0')*10+(temp_data[13]-'0')*1)
);
EEPROM_WriteBytes(170,(u8*)temp_data,2);
if((RTC->CR)&0x100)//<2F>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
RTC_AlarmAConfig(get_pubidv());
}
if((RTC->CR)&0x200)//<2F>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
RtcWakeUpConfig(get_meaidv() - 1);
}
ESP8266_SendString(DISABLE,"parw-4,OK,*",11,0);
Init_Data_Equipment.par_change=1;
EEPROM_WriteBytes(185, 0,1);
}
}
/*д<><D0B4>******<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>޸<EFBFBD>*********/
if((recString=strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parw-5")) !=NULL) //parw-aAb,0A1
{
recString=strstr(recString, ",");
recString++;
recStringNext=recString+2;
Sdi_chanegadd(recString[0],recStringNext[0]);
adda=Sdi_Readone(recStringNext[0]);
if(adda==0)
{
ESP8266_SendString(DISABLE,"parw-5,OK,*",11,0);
//<2F><>ֵ<EFBFBD><D6B5>ͬ
}else
ESP8266_SendString(DISABLE,"parw-5,fail,*",13,0);
}
/*<2A><>ȡ******<2A>豸ID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԤԼʱ<D4BC><EFBFBD><E4A1A2><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>Զ<EFBFBD><D4B6>ʱ<EFBFBD><CAB1>*********/
if((recString=strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parr-1")) !=NULL)
{
//&&(strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "\r\n"))!=NULL)
memset(temp_data,0,100);
Init_Data_Equipment=Read_Equipment_Par();
sprintf(temp_data,"parr-1,%s,%d,%s,%s,%d,*",
Init_Data_Equipment.Equipment_ID,
hexToDec(Init_Data_Equipment.Measure_Interval),
(Init_Data_Equipment.appointment_time),
(Init_Data_Equipment.measure_mode),
hexToDec(Init_Data_Equipment.Pub_Time)
);
ESP8266_SendString(DISABLE,temp_data,strlen(temp_data),0);
}
/*<2A><>ȡ******Զ<><D4B6>IP<49><50>Զ<EFBFBD><D4B6><EFBFBD>˿ڡ<CBBF>wifi<66><69><EFBFBD>ơ<EFBFBD>wifi<66><69><EFBFBD>롢wifi<66>˿<EFBFBD>*********/
if(strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parr-2"))
{
memset(temp_data,0,100);
GetRTC(hhmmss,yymmdd);
sprintf(temp_data,"%s,%s,%s,%s,%s,%s,*",
"parr-2",
Init_Data_Equipment.Bc25_Ip,
Init_Data_Equipment.Bc25_Port,
Init_Data_Equipment.ESP8266_AP_SSIDs,
Init_Data_Equipment.ESP8266_AP_PWDs,
Init_Data_Equipment.ESP8266_AP_Ports
);
ESP8266_SendString(DISABLE,temp_data,strlen(temp_data),0);
}
/*<2A><>ȡ******ϵͳʱ<CDB3><CAB1> <20><><EFBFBD><EFBFBD>*********/
if(strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parr-4"))
{
memset(temp_data,0,100);
GetRTC(hhmmss,yymmdd);
EEPROM_ReadBytes(170, (u8*)year_head,2);
sprintf(temp_data,"%s,%s%s,%s,*","parr-4",year_head,yymmdd,hhmmss);
ESP8266_SendString(DISABLE,temp_data,strlen(temp_data),0);
}
/*<2A><>ȡ******<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>ѯ*********/
if((recString=strstr(ESP8266_Fram_Record_Struct.Data_RX_BUF, "parr-s?")) !=NULL)
{
memset(temp_data,0,100);
adda=Sdi_readaddress();
if(adda!=0x7f)
{
sprintf(temp_data,"Address:%c,*",adda);
ESP8266_SendString(DISABLE,temp_data,strlen(temp_data),0);
}
else
ESP8266_SendString(DISABLE,"Address,fail,*",14,0);
}
Usart4_ReceiveBuff_Clear();
}
return 0;
}
/***************************** END OF FILE *********************************/