20260324
This commit is contained in:
843
RTX5_20220316/main/main.c
Normal file
843
RTX5_20220316/main/main.c
Normal file
@ -0,0 +1,843 @@
|
||||
/*----------------------------------------------------------------------------
|
||||
ͷ<>ļ<EFBFBD>
|
||||
*---------------------------------------------------------------------------*/
|
||||
#include "RTE_Components.h"
|
||||
#include CMSIS_device_header
|
||||
//#include "cmsis_os2.h"
|
||||
#include "bsp.h"
|
||||
|
||||
/**********************************************************************************************************
|
||||
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
**********************************************************************************************************
|
||||
*/
|
||||
void USERTaskCreate (void);
|
||||
void USER_Task_LinkStatus(void *argument); //WIFI<46><49><EFBFBD><EFBFBD>״̬
|
||||
void USER_Task_WIFI(void *argument);//ESP8266
|
||||
void USER_Task_MSG(void *argument);//<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||
void USERTaskStart(void *argument);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void USERTask_Process1(void *argument);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>й<EFBFBD><D0B9><EFBFBD>
|
||||
void USERTask_Resume(void *argument);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void User_Task_Test(void *argument);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
uint8_t IsAppointmentRight(void);
|
||||
|
||||
/*
|
||||
**********************************************************************************************************
|
||||
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
**********************************************************************************************************
|
||||
*/
|
||||
ITStatus Wake_way=RESET;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ʽ 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѣ<EFBFBD>0<EFBFBD><30>ť<EFBFBD><C5A5><EFBFBD><EFBFBD>
|
||||
u8 Enable_SDI_RS232=0; //0ʹ<30><CAB9>SDI 1ʹ<31>ܴ<EFBFBD><DCB4><EFBFBD>232<33><32>esp8266<36>Ĵ<EFBFBD><C4B4><EFBFBD>232<33><32>
|
||||
u8 LinkStatus=0; //WIFI<46><49><EFBFBD><EFBFBD>״̬<D7B4><CCAC>2<EFBFBD><32><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD>Ϊδ<CEAA><CEB4><EFBFBD><EFBFBD>
|
||||
u8 Creat_WIFI=0;
|
||||
u8 Creat_BC25=0;
|
||||
TASKRUNS TASKRUNSS; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>־
|
||||
u32 wut_rtc_s=0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RTCʱ<43><CAB1>
|
||||
TASKFISHED TASKFISHEDS;
|
||||
u8 WKUP_PIN_Status=0;//<2F><><EFBFBD><EFBFBD>״̬ 1<><31><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>0δ<30><CEB4><EFBFBD><EFBFBD>
|
||||
u8 Check_WKUP_key=0;
|
||||
u32 time__sta_bc25=0;//BC25<32><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
u32 time__sta_pro1=0;//<2F><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
|
||||
char rtc_data[15]={0},rtc_time[15]={0},CLOSE_ALARM = 0;
|
||||
extern char name[],hhmmsss[],yymmddd[];
|
||||
char NOWtime[15];
|
||||
uint32_t appointment_y,appointment_s,NOW_y,NOW_s;
|
||||
|
||||
/*
|
||||
****************************************************************************************************
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
******************************************************************************************************
|
||||
*/
|
||||
const osThreadAttr_t ThreadLinkStatus_Attr =
|
||||
{
|
||||
.name = "LinkStatus",
|
||||
.attr_bits = osThreadDetached,
|
||||
.priority = osPriorityHigh2,
|
||||
.stack_size = 512,
|
||||
};
|
||||
const osThreadAttr_t ThreadStart_Attr =
|
||||
{
|
||||
.name = "ThreadStart",
|
||||
.attr_bits = osThreadDetached,
|
||||
.priority = osPriorityHigh2,
|
||||
.stack_size = 512,
|
||||
};
|
||||
|
||||
const osThreadAttr_t ThreadWIFI_Attr =
|
||||
{
|
||||
.name = "ThreadWIFI",
|
||||
.attr_bits = osThreadDetached,
|
||||
.priority = osPriorityHigh2,
|
||||
.stack_size = 1024,
|
||||
};
|
||||
|
||||
const osThreadAttr_t ThreadMSG_Attr =
|
||||
{
|
||||
.name = "ThreadMSG",
|
||||
.attr_bits = osThreadDetached,
|
||||
.priority = osPriorityNormal,
|
||||
.stack_size = 1024,
|
||||
};
|
||||
|
||||
const osThreadAttr_t ThreadTest_Attr =
|
||||
{
|
||||
.name = "ThreadTest",
|
||||
.attr_bits = osThreadDetached,
|
||||
.priority = osPriorityHigh2,
|
||||
.stack_size = 2048,
|
||||
};
|
||||
|
||||
static const osEventFlagsAttr_t EventFlagAttr_PROCESS = {
|
||||
.name = "PROCESS_Events",
|
||||
};
|
||||
static const osEventFlagsAttr_t EventFlagAttr_Start = {
|
||||
.name = "Start_Events",
|
||||
};
|
||||
static const osEventFlagsAttr_t EventFlagAttr_Fished = {
|
||||
.name = "Fished_Events",
|
||||
};
|
||||
|
||||
const osThreadAttr_t ThreadUSERTask_Resume_Attr =
|
||||
{
|
||||
.name = "ThreadUSERTask_Resume",
|
||||
.attr_bits = osThreadDetached,
|
||||
.priority = osPriorityHigh2,
|
||||
.stack_size = 1024,
|
||||
};
|
||||
const osThreadAttr_t ThreadPROCESS1_Attr =
|
||||
{
|
||||
.name = "ThreadPROCESS1",
|
||||
.attr_bits = osThreadDetached,
|
||||
.priority = osPriorityHigh2,
|
||||
.stack_size = 2048,
|
||||
};
|
||||
const osThreadAttr_t ThreadBC25_Attr =
|
||||
{
|
||||
.name = "ThreadBC25",
|
||||
.attr_bits = osThreadDetached,
|
||||
.priority = osPriorityHigh2,
|
||||
.stack_size = 2048,
|
||||
};
|
||||
|
||||
static const osMutexAttr_t WIFI_Mutex_Attr = {
|
||||
.name = "WIFI_Multiplex",
|
||||
};
|
||||
static const osMutexAttr_t SDI_Mutex_Attr = {
|
||||
.name = "SDI_Multiplex",
|
||||
};
|
||||
static const osMutexAttr_t TF_Mutex_Attr = {
|
||||
.name = "TF_Multiplex",
|
||||
//.attr_bits = osMutexRobust,
|
||||
};
|
||||
static const osSemaphoreAttr_t Proces1_Semaphore_Attr = {
|
||||
.name = "Proces1_Sem",
|
||||
};
|
||||
static const osSemaphoreAttr_t BC25_Semaphore_Attr = {
|
||||
.name = "BC25_Sem",
|
||||
};
|
||||
/*
|
||||
*********************************************************************************************
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
***********************************************************************************************
|
||||
*/
|
||||
|
||||
osThreadId_t ThreadIdSMSG = NULL;
|
||||
osThreadId_t ThreadIdTaskLinkStatus = NULL;
|
||||
osThreadId_t ThreadIdTaskBC25 = NULL;
|
||||
osThreadId_t ThreadIdWIFI = NULL;
|
||||
osThreadId_t ThreadIdStart = NULL;
|
||||
osThreadId_t ThreadIdProcsee1 = NULL;
|
||||
osThreadId_t ThreadIdUSERTask_Resume = NULL;
|
||||
osThreadId_t ThreadIdTest = NULL;
|
||||
|
||||
osSemaphoreId_t Process1ID_Semaphore; // semaphore id
|
||||
osSemaphoreId_t BC25ID_Semaphore; // semaphore id
|
||||
|
||||
osEventFlagsId_t EventFlagID_PROCESS=NULL; //<2F><><EFBFBD>̱<EFBFBD>־
|
||||
osEventFlagsId_t EventFlagID_Start=NULL;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
||||
osEventFlagsId_t EventFlagID_Fished=NULL;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
||||
osMutexId_t WIFI_MutexID=NULL;
|
||||
osMutexId_t SDI_MutexID=NULL;
|
||||
osMutexId_t TFcard_MutexID=NULL;
|
||||
|
||||
/****************************************************
|
||||
*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>main()
|
||||
*<2A><> <20>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*<2A><> <20>룺<EFBFBD><EBA3BA>
|
||||
*<2A><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*/
|
||||
int main (void) {
|
||||
|
||||
SCB->VTOR = FLASH_BASE | 0x10000; /* Vector Table Relocation in Internal FLASH. */
|
||||
// System Initialization
|
||||
SystemCoreClockUpdate();
|
||||
// ...
|
||||
|
||||
bsp_init();
|
||||
osKernelInitialize(); // Initialize CMSIS-RTOS
|
||||
EventFlagID_PROCESS = osEventFlagsNew(&EventFlagAttr_PROCESS);
|
||||
EventFlagID_Start = osEventFlagsNew(&EventFlagAttr_Start);
|
||||
EventFlagID_Fished = osEventFlagsNew(&EventFlagAttr_Fished);
|
||||
Process1ID_Semaphore = osSemaphoreNew(1, 1, &Proces1_Semaphore_Attr );
|
||||
BC25ID_Semaphore = osSemaphoreNew(1, 1, &BC25_Semaphore_Attr );
|
||||
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
ThreadIdStart = osThreadNew(USERTaskStart, NULL, &ThreadStart_Attr);
|
||||
|
||||
osKernelStart(); // Start thread execution
|
||||
for (;;)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t IsAppointmentRight(void)
|
||||
{
|
||||
GetRTC(hhmmsss,yymmddd);
|
||||
NOWtime[0] = '2';
|
||||
NOWtime[1] = '0';
|
||||
memcpy(&NOWtime[2],yymmddd,6);
|
||||
NOW_y = atoi(NOWtime);
|
||||
memset(NOWtime,0,15);
|
||||
memcpy(NOWtime,hhmmsss,6);
|
||||
NOW_s = atoi(NOWtime);
|
||||
memset(NOWtime,0,15);
|
||||
memcpy(NOWtime,Init_Data_Equipment.appointment_time,8);
|
||||
appointment_y = atoi(NOWtime);
|
||||
memset(NOWtime,0,15);
|
||||
memcpy(NOWtime,&Init_Data_Equipment.appointment_time[8],6);
|
||||
appointment_s = atoi(NOWtime);
|
||||
if(NOW_y > appointment_y)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else if(NOW_y < appointment_y)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(NOW_s > appointment_s)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************
|
||||
*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USER_Task_BC25()
|
||||
*<2A><> <20>ܣ<EFBFBD>NBģ<42><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*<2A><> <20>룺<EFBFBD><EBA3BA>
|
||||
*<2A><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*/
|
||||
void USER_Task_BC25(void *argument)
|
||||
{
|
||||
u8 i=0;
|
||||
u32 BC25_SIZE=0;
|
||||
osStatus_t BC25_Thread_status;
|
||||
|
||||
while(1)
|
||||
{
|
||||
osSemaphoreAcquire(BC25ID_Semaphore, osWaitForever);
|
||||
time__sta_bc25=osKernelGetTickCount ();//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
TASKRUNSS.BC25_RUN=1;
|
||||
BC25_Status.socket=0;
|
||||
//u5_printf("BC25_Start\r\n");
|
||||
|
||||
for(i=0;i<5;i++)
|
||||
{
|
||||
BC25_Init();
|
||||
if(BC25_Status.netstatus==1)
|
||||
{
|
||||
i=6;
|
||||
BC25_CloseSocket();//<2F>ر<EFBFBD><D8B1><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
BC25_CreateSokcet(Init_Data_Equipment.Bc25_Ip,Init_Data_Equipment.Bc25_Port);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
if(BC25_Status.cpin==0)//<2F><><EFBFBD><EFBFBD>ûװ<C3BB><D7B0><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
i=6;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
USART2_ReceiveBuff_Clear();
|
||||
printf("AT+CGPADDR?\r\n");
|
||||
//delay_ms(500);
|
||||
//u5_printf("IP:%s\r\n",(const char*)USART2_RX_BUF);
|
||||
osEventFlagsSet(EventFlagID_PROCESS,EVENT_TFread_BIT_5);
|
||||
if(osEventFlagsGet(EventFlagID_PROCESS)&EVENT_TFstore_BIT_6)
|
||||
{
|
||||
osDelay(3000);
|
||||
}
|
||||
if(BC25_Status.netstatus==1)
|
||||
{
|
||||
i=0;
|
||||
BC25_SIZE=0;
|
||||
while((BC25_SIZE<=30)&(i<50))
|
||||
{
|
||||
i++;
|
||||
delay_ms(5);
|
||||
BC25_SIZE=txt_size_read("BC25");
|
||||
}
|
||||
if(BC25_SIZE>30)
|
||||
{
|
||||
//u5_printf("BC25_txt_size:%ld\r\n",BC25_SIZE);
|
||||
FATFS_Read_TF("BC25",0,BC25_SIZE);//<2F><>ȡTF<54><46>¼<EFBFBD><C2BC><EFBFBD>ݣ<EFBFBD>ͨ<EFBFBD><CDA8>BC25<32><35><EFBFBD><EFBFBD>
|
||||
i=0;
|
||||
while(i<10)
|
||||
{
|
||||
osDelay(1000);
|
||||
if(strstr((char*)USART2_RX_BUF,"par")!=NULL)
|
||||
{
|
||||
USART2_Recieve_Ide();
|
||||
USART2_ReceiveBuff_Clear();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
//u5_printf("BC25.txt send finish\r\n");
|
||||
}
|
||||
|
||||
osEventFlagsClear(EventFlagID_PROCESS,EVENT_TFread_BIT_5);
|
||||
BC25_POWEROFF();
|
||||
TASKRUNSS.BC25_RUN=0;
|
||||
//u5_printf("Terminate TaskBC25\r\n");
|
||||
i=0;
|
||||
osSemaphoreRelease(BC25ID_Semaphore);
|
||||
BC25_Thread_status=osThreadTerminate(ThreadIdTaskBC25);
|
||||
//u5_printf("Terminate TaskBC25............... fail\r\n");
|
||||
while((BC25_Thread_status!=osOK)&(i<10))
|
||||
{
|
||||
//u5_printf("BC25_Thread_status:%d\r\n",BC25_Thread_status);
|
||||
BC25_Thread_status=osThreadTerminate(ThreadIdTaskBC25);
|
||||
i++;
|
||||
|
||||
}
|
||||
//BC25_Thread_status=osThreadTerminate(ThreadIdTaskBC25);
|
||||
osDelay(500);
|
||||
}
|
||||
}
|
||||
/****************************************************
|
||||
*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USER_Task_LinkStatus()
|
||||
*<2A><> <20>ܣ<EFBFBD>WIFI<46><49>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>ͬʱ<CDAC>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>пͻ<D0BF><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*<2A><> <20>룺<EFBFBD><EBA3BA>
|
||||
*<2A><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*/
|
||||
void USER_Task_LinkStatus(void *argument)
|
||||
{
|
||||
u8 i=0;
|
||||
// osDelay(20000);//<2F>ӳٵȴ<D9B5><C8B4><EFBFBD><EFBFBD><EFBFBD>WIFI
|
||||
//osEventFlagsWait(EventFlagID_PROCESS,EVENT_WIFIcreat_BIT_9,osFlagsWaitAll,200000 );
|
||||
while(1)
|
||||
{
|
||||
|
||||
uint8_t Temp_LinkStatus=0;
|
||||
LinkStatus=2;
|
||||
for(i=0;i<4;i++)
|
||||
{
|
||||
osMutexAcquire(WIFI_MutexID,osWaitForever);
|
||||
Temp_LinkStatus=ESP8266_Get_LinkStatus();
|
||||
if(Temp_LinkStatus==2)
|
||||
{
|
||||
i=0;
|
||||
ESP8266_SendString(DISABLE,"Heartbeat,*",11,0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
osMutexRelease(WIFI_MutexID);
|
||||
osDelay(60000);
|
||||
//osDelay(30000);
|
||||
}
|
||||
//LinkStatus=0;
|
||||
if(LinkStatus!=2)
|
||||
{
|
||||
osEventFlagsSet(EventFlagID_PROCESS,EVENT_LinkStatus_BIT_3);
|
||||
osEventFlagsClear(EventFlagID_PROCESS,EVENT_WIFIcreat_BIT_9);
|
||||
osThreadTerminate(ThreadIdTaskLinkStatus);
|
||||
osThreadTerminate(ThreadIdWIFI);
|
||||
}
|
||||
osDelay(5);
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************
|
||||
*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USER_Task_WIFI()
|
||||
*<2A><> <20>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>WIFI<46><49><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD>ѯ<EFBFBD>ͻ<EFBFBD><CDBB>˷<EFBFBD><CBB7>͵<EFBFBD>ָ<EFBFBD><D6B8>
|
||||
*<2A><> <20>룺<EFBFBD><EBA3BA>
|
||||
*<2A><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*/
|
||||
void USER_Task_WIFI(void *argument)
|
||||
{
|
||||
while(1)
|
||||
{
|
||||
if(!(osEventFlagsGet(EventFlagID_PROCESS)&EVENT_WIFIcreat_BIT_9))
|
||||
{
|
||||
ESP8266_AP_TCPServer_Config(Init_Data_Equipment.ESP8266_AP_SSIDs,
|
||||
Init_Data_Equipment.ESP8266_AP_PWDs,
|
||||
Init_Data_Equipment.ESP8266_AP_Ports);
|
||||
// Creat_WIFI=1;
|
||||
PWR_CTRL5V_H; //<2F><><EFBFBD><EFBFBD>5V 9V<39><56>Դ
|
||||
//PWR_CTRL3V3_H;
|
||||
osEventFlagsSet(EventFlagID_PROCESS,EVENT_WIFIcreat_BIT_9);
|
||||
__nop();
|
||||
}
|
||||
osMutexAcquire(WIFI_MutexID,osWaitForever);
|
||||
USART4_Recieve_Ide();
|
||||
osMutexRelease(WIFI_MutexID);
|
||||
osDelay(20);
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************
|
||||
*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USERTask_Process1()
|
||||
*<2A><> <20>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
||||
*<2A><> <20>룺<EFBFBD><EBA3BA>
|
||||
*<2A><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*/
|
||||
|
||||
void USERTask_Process1(void *argument)
|
||||
{
|
||||
u8 i=0;
|
||||
//char Process1_Buf[300]={'\0'};
|
||||
osStatus_t PRO1_Thread_status;
|
||||
while(1)
|
||||
{
|
||||
osSemaphoreAcquire(Process1ID_Semaphore, osWaitForever);
|
||||
time__sta_pro1=osKernelGetTickCount ();//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
TASKRUNSS.PROS1_RUN=1;
|
||||
GetRTC(rtc_time,rtc_data);
|
||||
sprintf(name,"%s_%s.txt",rtc_data,Init_Data_Equipment.Measure_Interval);
|
||||
if(IS_FIRST_SAVE)
|
||||
{
|
||||
memcpy(rtc_data,&Init_Data_Equipment.appointment_time[2],6);
|
||||
memcpy(rtc_time,&Init_Data_Equipment.appointment_time[8],6);
|
||||
IS_FIRST_SAVE = 0;
|
||||
}
|
||||
L76X_POWER_ON(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>Դ
|
||||
|
||||
ADC15_POWERON(); //<2F><><EFBFBD><EFBFBD>ADC<44><43>Դ
|
||||
delay_ms(10); //<2F><><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD>͵<EFBFBD>ѹʱ<D1B9><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
PWR_CTRL5V_H; //<2F><><EFBFBD><EFBFBD>5V 9V<39><56>Դ
|
||||
|
||||
sdi12_process();
|
||||
ADC15_Process();
|
||||
|
||||
L76C_Process();
|
||||
Common_Data_Pack();//<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD>
|
||||
|
||||
if(osEventFlagsGet(EventFlagID_PROCESS)&EVENT_TFread_BIT_5)//BC25<32><35>Զ<EFBFBD><D4B6>
|
||||
{
|
||||
osEventFlagsSet(EventFlagID_PROCESS,EVENT_TFstore_BIT_6);
|
||||
//u5_printf("stroe wait\r\n");
|
||||
osEventFlagsWait(EventFlagID_PROCESS,EVENT_TFread2_BIT_7,osFlagsWaitAll,10000 );
|
||||
//u5_printf("TF data entry1\r\n");
|
||||
Data_Write_TF();
|
||||
//u5_printf("stroe finish\r\n");
|
||||
osEventFlagsClear(EventFlagID_PROCESS,EVENT_TFstore_BIT_6);
|
||||
osEventFlagsSet(EventFlagID_PROCESS,EVENT_TFstore2_BIT_8);
|
||||
}
|
||||
else
|
||||
{
|
||||
//u5_printf("TF data entry2\r\n");
|
||||
osEventFlagsSet(EventFlagID_PROCESS,EVENT_TFstore_BIT_6);
|
||||
|
||||
Data_Write_TF();
|
||||
|
||||
osEventFlagsClear(EventFlagID_PROCESS,EVENT_TFstore_BIT_6);
|
||||
//u5_printf("TF data quit2\r\n");
|
||||
}
|
||||
// if(LinkStatus == 2)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIFI<46><49><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><DDB7>͵<EFBFBD><CDB5><EFBFBD>λ<EFBFBD><CEBB>
|
||||
// {
|
||||
// sprintf(Process1_Buf,"%s%s%s,*","Pub,",data_common1.Pack_len,data_common1.Pack_data);
|
||||
// osMutexAcquire(WIFI_MutexID,osWaitForever);
|
||||
// ESP8266_SendString(DISABLE,Process1_Buf,strlen(Process1_Buf),0);
|
||||
// osMutexRelease(WIFI_MutexID);
|
||||
// }
|
||||
//u5_printf("Terminate Procsee1\r\n");
|
||||
// L76X_POWER_OFF();
|
||||
// ADC15_POWEROFF();
|
||||
// PWR_CTRL5V_L;
|
||||
osSemaphoreRelease(Process1ID_Semaphore);
|
||||
TASKRUNSS.PROS1_RUN=0;
|
||||
osThreadTerminate(ThreadIdProcsee1);
|
||||
//u5_printf("Terminate Procsee1 fail\r\n");
|
||||
PRO1_Thread_status=osThreadTerminate(ThreadIdProcsee1);
|
||||
while((PRO1_Thread_status!=osOK)&(i<10))
|
||||
{
|
||||
//u5_printf("PRO1_Thread_status:%d\r\n",PRO1_Thread_status);
|
||||
PRO1_Thread_status=osThreadTerminate(ThreadIdProcsee1);
|
||||
i++;
|
||||
}
|
||||
osDelay(1000);
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************
|
||||
*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USERTask_Resume()
|
||||
*<2A><> <20>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*<2A><> <20>룺ȫ<EBA3BA>ֱ<EFBFBD><D6B1><EFBFBD> MYITStatus1
|
||||
* ȫ<>ֱ<EFBFBD><D6B1><EFBFBD> WKUP_PIN_Status
|
||||
*<2A><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*/
|
||||
void USERTask_Resume(void *argument)
|
||||
{
|
||||
u32 measurt_idv_set;
|
||||
osThreadState_t Thread_Stasus;
|
||||
while(1)
|
||||
{
|
||||
if(MYITStatus1.AlarmA_ITStatus == 1)
|
||||
{
|
||||
//u5_printf("TASKRUNSS.BC25_RUN:%d\r\n",TASKRUNSS.BC25_RUN);
|
||||
Thread_Stasus=osThreadGetState(ThreadIdTaskBC25);
|
||||
//u5_printf("Thread_Stasus_bc25:%d\r\n",Thread_Stasus);
|
||||
if((Thread_Stasus==osThreadError )||(TASKRUNSS.BC25_RUN!=1))
|
||||
{
|
||||
//u5_printf("USER_Task_BC25 creat\r\n");
|
||||
ThreadIdTaskBC25 = osThreadNew(USER_Task_BC25, NULL, &ThreadBC25_Attr);
|
||||
}
|
||||
//u5_printf("config AlarmA\r\n");
|
||||
MYITStatus1.AlarmA_ITStatus=0;
|
||||
RTC_AlarmAConfig(get_pubidv());
|
||||
}
|
||||
if(MYITStatus1.AlarmB_ITStatus == 1)
|
||||
{
|
||||
Thread_Stasus=osThreadGetState(ThreadIdProcsee1);
|
||||
//u5_printf("PROSS1_Thread_Stasus:%d\r\n",Thread_Stasus);
|
||||
if(Thread_Stasus==osThreadError )
|
||||
{
|
||||
//u5_printf("USERTask_Process1 creat\r\n");
|
||||
ThreadIdProcsee1 = osThreadNew(USERTask_Process1, NULL, &ThreadPROCESS1_Attr);
|
||||
}
|
||||
MYITStatus1.AlarmB_ITStatus=0;
|
||||
Measure_Ap_E();
|
||||
//Write_Equipment_Par(Init_Data_Equipment); //<2F>ػ<EFBFBD><D8BB>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
||||
CLOSE_ALARM = 1;
|
||||
}
|
||||
if(MYITStatus1.WUT_ITStatus == 1)
|
||||
{
|
||||
//u5_printf("USERTask_Process1 start\r\n");
|
||||
Thread_Stasus=osThreadGetState(ThreadIdProcsee1);
|
||||
//u5_printf("PROSS1_Thread_Stasus:%d\r\n",Thread_Stasus);
|
||||
if((Thread_Stasus==osThreadError )||(TASKRUNSS.PROS1_RUN!=1))
|
||||
{
|
||||
//u5_printf("USERTask_Process1 creat\r\n");
|
||||
// Thread_Stasus=osThreadGetState(ThreadIdTaskBC25);
|
||||
// if(Thread_Stasus == 1)
|
||||
// {
|
||||
// osDelay(1000);
|
||||
// }
|
||||
ThreadIdProcsee1 = osThreadNew(USERTask_Process1, NULL, &ThreadPROCESS1_Attr);
|
||||
}
|
||||
MYITStatus1.WUT_ITStatus=0;
|
||||
|
||||
if(measurt_idv_set<1)
|
||||
{
|
||||
measurt_idv_set=1;
|
||||
}
|
||||
RtcWakeUpConfig(get_meaidv() - 1);
|
||||
// if(CLOSE_ALARM)
|
||||
// {
|
||||
// CLOSE_ALARM = 0;
|
||||
// RtcWakeUpConfig(get_meaidv() - 4);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// RtcWakeUpConfig(get_meaidv() - 2);
|
||||
// }
|
||||
|
||||
|
||||
wut_rtc_s=RTC_GetSeconds()+measurt_idv_set*60;
|
||||
if(wut_rtc_s>86400)wut_rtc_s-=86400;
|
||||
}
|
||||
if(1)//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>MYITStatus1.WKUP1_ITStatus == 1
|
||||
{
|
||||
//if(WKUP_PIN_Status==4)//<2F><><EFBFBD><EFBFBD>10S<30><53><EFBFBD>ϣ<EFBFBD><CFA3>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(key_time==200)//<2F><><EFBFBD><EFBFBD>10S<30><53><EFBFBD>ϣ<EFBFBD><CFA3>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
MYITStatus1.WKUP1_ITStatus =0;
|
||||
//u5_printf("WKUP_PIN_10S\r\n");
|
||||
Write_Factory_Par();
|
||||
}
|
||||
if((key_time>=30)|(Check_WKUP_key))//<2F><><EFBFBD><EFBFBD>3S<33><53><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD>WIFI
|
||||
{
|
||||
Thread_Stasus=osThreadGetState(ThreadIdTaskLinkStatus);
|
||||
if(Thread_Stasus==osThreadError )
|
||||
{
|
||||
//u5_printf("Create Wifi Task\r\n");
|
||||
ThreadIdWIFI = osThreadNew(USER_Task_WIFI, NULL, &ThreadWIFI_Attr);
|
||||
ThreadIdTaskLinkStatus = osThreadNew(USER_Task_LinkStatus, NULL, &ThreadLinkStatus_Attr);
|
||||
}
|
||||
MYITStatus1.WKUP1_ITStatus =0;
|
||||
Check_WKUP_key=0;
|
||||
//u5_printf("WKUP_PIN_3S\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
if(MYITStatus1.WKUP_POWBUTTON == 1)//<2F><>Դ<EFBFBD>ϵ<EFBFBD>
|
||||
{
|
||||
MYITStatus1.WKUP_POWBUTTON=0;
|
||||
|
||||
|
||||
if((Init_Data_Equipment.measure_mode[0]=='1') && (IsAppointmentRight()))//ģʽΪ1<CEAA><31>ԤԼ<D4A4><D4BC><EFBFBD><EFBFBD>,ֻ<><D6BB><EFBFBD><EFBFBD>ԤԼ<D4A4><D4BC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
{
|
||||
Measure_Ap_S();
|
||||
TASKRUNSS.POW_RUN=0;//ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԤԼʱ<D4BC><CAB1>
|
||||
}else
|
||||
{
|
||||
Thread_Stasus=osThreadGetState(ThreadIdProcsee1);
|
||||
if(Thread_Stasus==osThreadError )
|
||||
{
|
||||
ThreadIdProcsee1 = osThreadNew(USERTask_Process1, NULL, &ThreadPROCESS1_Attr);
|
||||
}
|
||||
|
||||
RtcWakeUpConfig(get_meaidv() - 1);
|
||||
RTC_AlarmAConfig(get_pubidv());
|
||||
}
|
||||
|
||||
}
|
||||
if(MYITStatus1.WKUP_MEA_WIFI == 1)//WIFI<46><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
Thread_Stasus=osThreadGetState(ThreadIdProcsee1);
|
||||
if(Thread_Stasus==osThreadError )
|
||||
{
|
||||
ThreadIdProcsee1 = osThreadNew(USERTask_Process1, NULL, &ThreadPROCESS1_Attr);
|
||||
}
|
||||
MYITStatus1.WKUP_MEA_WIFI=0;
|
||||
}
|
||||
if(MYITStatus1.WKUP_Test_WIFI == 1)//WIFI<46><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
Thread_Stasus=osThreadGetState(ThreadIdTest);
|
||||
if((Thread_Stasus==osThreadError )||(!(osEventFlagsGet(EventFlagID_PROCESS)&EVENT_Test_BIT_10)))
|
||||
{
|
||||
|
||||
ThreadIdTest=osThreadNew(User_Task_Test,NULL,&ThreadTest_Attr);
|
||||
}
|
||||
MYITStatus1.WKUP_Test_WIFI=0;
|
||||
}
|
||||
osDelay(10);
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************
|
||||
*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USER_Task_MSG()
|
||||
*<2A><> <20>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CDB9><EFBFBD>ģʽ
|
||||
*<2A><> <20>룺<EFBFBD><EBA3BA>
|
||||
*<2A><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*/
|
||||
void USER_Task_MSG(void *argument)
|
||||
{
|
||||
osDelay(500);//<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
while(1)
|
||||
{
|
||||
if(osThreadGetState(ThreadIdTaskBC25)==osThreadError)
|
||||
{
|
||||
TASKFISHEDS.BC25_FIS=1;
|
||||
}
|
||||
else
|
||||
TASKFISHEDS.BC25_FIS=0;
|
||||
if(osThreadGetState(ThreadIdProcsee1)==osThreadError)
|
||||
{
|
||||
TASKFISHEDS.PROS1_FIS=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
TASKFISHEDS.PROS1_FIS=0;
|
||||
}
|
||||
|
||||
if(osThreadGetState(ThreadIdTaskLinkStatus)==osThreadError)
|
||||
{
|
||||
TASKFISHEDS.WIFILink_FIS=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
TASKFISHEDS.WIFILink_FIS=0;
|
||||
}
|
||||
//u5_printf("%d,%d,%d\r\n",TASKFISHEDS.PROS1_FIS,TASKFISHEDS.BC25_FIS,TASKFISHEDS.WIFILink_FIS);
|
||||
if(TASKFISHEDS.BC25_FIS &
|
||||
TASKFISHEDS.PROS1_FIS &
|
||||
TASKFISHEDS.WIFILink_FIS &
|
||||
(!MYITStatus1.WUT_ITStatus)&
|
||||
(!MYITStatus1.AlarmA_ITStatus&
|
||||
!WKUP_KD )
|
||||
)
|
||||
{
|
||||
if((Init_Data_Equipment.measure_mode[0]==0x31) && (IsAppointmentRight()))//<2F><><EFBFBD><EFBFBD>ģʽΪ1<CEAA><31>ԤԼ<D4A4><D4BC><EFBFBD><EFBFBD>
|
||||
{
|
||||
RTC_WakeUpCmd(DISABLE);//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD>份<EFBFBD><E4BBBD><EFBFBD><EFBFBD><EFBFBD>ݲɼ<DDB2>
|
||||
RTC_AlarmCmd(RTC_Alarm_A, DISABLE);//<2F><><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>
|
||||
}
|
||||
|
||||
//u5_printf("Procsee1_status:%d\r\n",osThreadGetState(ThreadIdProcsee1));
|
||||
//u5_printf("BC25_status:%d\r\n",osThreadGetState(ThreadIdTaskBC25));
|
||||
EXTI_ClearITPendingBit(EXTI_Line13);
|
||||
RTC_ClearITPendingBit(RTC_IT_WUT);
|
||||
EXTI_ClearITPendingBit(EXTI_Line20);
|
||||
RTC_ClearITPendingBit(RTC_IT_ALRB);
|
||||
RTC_ClearITPendingBit(RTC_IT_ALRA);
|
||||
EXTI_ClearITPendingBit(EXTI_Line17);
|
||||
|
||||
PWR_EnterSTANDBYMode();
|
||||
}
|
||||
osDelay(50);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void User_Task_Test(void *argument)
|
||||
{
|
||||
char Test_Buf[400];
|
||||
int len;
|
||||
char rtc_data_test[15]={0},rtc_time_test[15]={0};
|
||||
u32 tf_total,tf_free;
|
||||
while(1)
|
||||
{
|
||||
osEventFlagsSet(EventFlagID_PROCESS,EVENT_Test_BIT_10);
|
||||
//u5_printf("User_Task_Test_start\r\n");
|
||||
//PWR_CTRL3V3_H; //<2F><><EFBFBD><EFBFBD>3.3V<EFBFBD>ܵ<EFBFBD>Դ
|
||||
osDelay(1000);
|
||||
TASKRUNSS.Test_RUN=1;
|
||||
GetRTC(rtc_time_test,rtc_data_test);
|
||||
/************************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD>ʼ******************************/
|
||||
|
||||
if(!TASKRUNSS.PROS1_RUN)
|
||||
{
|
||||
osSemaphoreAcquire(Process1ID_Semaphore, osWaitForever);
|
||||
GetRTC(rtc_time,rtc_data);
|
||||
L76X_POWER_ON(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>Դ
|
||||
ADC15_POWERON(); //<2F><><EFBFBD><EFBFBD>ADC<44><43>Դ
|
||||
PWR_CTRL5V_H; //<2F><><EFBFBD><EFBFBD>5V 9V<39><56>Դ
|
||||
sdi12_process();
|
||||
ADC15_Process();
|
||||
L76C_Process();
|
||||
}
|
||||
else
|
||||
{
|
||||
osSemaphoreAcquire(Process1ID_Semaphore, osWaitForever);
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
sprintf(rtc_data,"%s",rtc_data_test);
|
||||
sprintf(rtc_time,"%s",rtc_time_test);
|
||||
Common_Data_Pack();//<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD>
|
||||
/************************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD>*****************************/
|
||||
|
||||
/*************************Զ<><D4B6><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD>ʼ*****************************/
|
||||
|
||||
if(!TASKRUNSS.BC25_RUN)
|
||||
{
|
||||
osSemaphoreAcquire(BC25ID_Semaphore, osWaitForever);
|
||||
BC25_Init();
|
||||
}
|
||||
else
|
||||
{
|
||||
//osSemaphoreAcquire(BC25ID_Semaphore, osWaitForever);
|
||||
}
|
||||
|
||||
/*************************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*****************************/
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Pub,<2C><><EFBFBD>ȣ<EFBFBD><C8A3>豸<EFBFBD>ţ<EFBFBD>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>IOT_Cpin,IOT_Csq,IOT_Net,Tf_Tol,Tf_Free
|
||||
|
||||
if(osEventFlagsGet(EventFlagID_PROCESS)&EVENT_TFread_BIT_5)//BC25<32><35>Զ<EFBFBD><D4B6>
|
||||
{
|
||||
osEventFlagsSet(EventFlagID_PROCESS,EVENT_TFstore_BIT_6);
|
||||
//u5_printf("test stroe wait\r\n");
|
||||
osEventFlagsWait(EventFlagID_PROCESS,EVENT_TFread2_BIT_7,osFlagsWaitAll,10000 );
|
||||
//u5_printf("test TF data entry1\r\n");
|
||||
|
||||
exf_getfree("0", &tf_total, &tf_free);
|
||||
len = strlen(data_common1.Pack_data);
|
||||
sprintf(data_common1.Pack_data+len,",%d,%d,%d,%ld,%ld",BC25_Status.cpin,BC25_Status.CSQ,BC25_Status.netstatus,tf_total,tf_free);
|
||||
Write_Test();
|
||||
//u5_printf("test stroe finish\r\n");
|
||||
osEventFlagsClear(EventFlagID_PROCESS,EVENT_TFstore_BIT_6);
|
||||
osEventFlagsSet(EventFlagID_PROCESS,EVENT_TFstore2_BIT_8);
|
||||
}
|
||||
else
|
||||
{
|
||||
osEventFlagsSet(EventFlagID_PROCESS,EVENT_TFstore_BIT_6);
|
||||
exf_getfree("0", &tf_total, &tf_free);
|
||||
len = strlen(data_common1.Pack_data);
|
||||
sprintf(data_common1.Pack_data+len,",%d,%d,%d,%ld,%ld",BC25_Status.cpin,BC25_Status.CSQ,BC25_Status.netstatus,tf_total,tf_free);
|
||||
Write_Test();
|
||||
osEventFlagsClear(EventFlagID_PROCESS,EVENT_TFstore_BIT_6);
|
||||
}
|
||||
sprintf(Test_Buf,"%s%d,%s,*","Pub,",strlen(data_common1.Pack_data)+2,data_common1.Pack_data);
|
||||
//u5_printf("test_buf %s\r\n",Test_Buf);
|
||||
osMutexAcquire(WIFI_MutexID,osWaitForever);
|
||||
ESP8266_SendString(DISABLE,Test_Buf,strlen(Test_Buf),0);
|
||||
osMutexRelease(WIFI_MutexID);
|
||||
//<2F>ͷ<EFBFBD>
|
||||
osSemaphoreRelease(BC25ID_Semaphore);
|
||||
osSemaphoreRelease(Process1ID_Semaphore);
|
||||
TASKRUNSS.Test_RUN=0;
|
||||
osEventFlagsClear(EventFlagID_PROCESS,EVENT_Test_BIT_10);
|
||||
osThreadTerminate(ThreadIdTest);
|
||||
|
||||
/*************************Զ<><D4B6><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD>*****************************/
|
||||
}
|
||||
|
||||
}
|
||||
/****************************************************
|
||||
*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USERTaskCreate()
|
||||
*<2A><> <20>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>
|
||||
*<2A><> <20>룺<EFBFBD><EBA3BA>
|
||||
*<2A><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*/
|
||||
void USERTaskCreate(void)
|
||||
{
|
||||
EEPROM_ReadBytes(110,(u8*)Init_Data_Equipment.Pub_Mode,1);
|
||||
WIFI_MutexID = osMutexNew(&WIFI_Mutex_Attr );
|
||||
SDI_MutexID = osMutexNew(&SDI_Mutex_Attr );
|
||||
TFcard_MutexID = osMutexNew(&TF_Mutex_Attr );
|
||||
ThreadIdUSERTask_Resume = osThreadNew(USERTask_Resume, NULL, &ThreadUSERTask_Resume_Attr);
|
||||
ThreadIdSMSG = osThreadNew(USER_Task_MSG, NULL, &ThreadMSG_Attr); //<2F><EFBFBD><CDB9><EFBFBD>
|
||||
}
|
||||
|
||||
/*********************************************************************************************************/
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* <09><> <20><> <20><>: AppTaskStart()
|
||||
* <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD>
|
||||
* <09><> <20><> <20><><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>time__sta_pro1
|
||||
* Զ<><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>time__sta_bc25
|
||||
* <20><> <20><> <20><><EFBFBD><EFBFBD>
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void USERTaskStart(void *argument)
|
||||
{
|
||||
u32 mea_idv_idl1,pub_idv_idl1;
|
||||
uint8_t i=0;
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
USERTaskCreate();
|
||||
while(1)
|
||||
{
|
||||
mea_idv_idl1=osKernelGetTickCount()-time__sta_pro1;
|
||||
pub_idv_idl1=osKernelGetTickCount()-time__sta_bc25;
|
||||
i++;
|
||||
if(i>=10)
|
||||
{
|
||||
//u5_printf("mea_idv_idl1:%d\r\npub_idv_idl1:%d\r\n",mea_idv_idl1,pub_idv_idl1);
|
||||
i=0;
|
||||
}
|
||||
if(LinkStatus == 2)
|
||||
{
|
||||
mea_idv_idl1=0;
|
||||
pub_idv_idl1=0;
|
||||
}
|
||||
if((mea_idv_idl1>(get_meaidv()*1000+200000))&(LinkStatus != 2))//û<><C3BB>WIFI<46><49><EFBFBD><EFBFBD>+<2B><>ʱ
|
||||
{
|
||||
NVIC_SystemReset();
|
||||
}
|
||||
|
||||
if((pub_idv_idl1>(get_pubidv()*1000+7200000))&(LinkStatus != 2))//û<><C3BB>WIFI<46><49><EFBFBD><EFBFBD>+<2B><>ʱ
|
||||
{
|
||||
NVIC_SystemReset();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>λ
|
||||
}
|
||||
osDelay(1000);
|
||||
}
|
||||
}
|
||||
|
||||
/***************************** END OF FILE *********************************/
|
||||
|
||||
Reference in New Issue
Block a user