From 0a6f32c1ac476e2551a5a1c805927703269da3b0 Mon Sep 17 00:00:00 2001 From: zogodo <742782908@qq.com> Date: Thu, 26 Dec 2019 21:56:05 +0800 Subject: [PATCH] prs_time --- TC1/http_server/app_httpd.c | 4 ++-- TC1/main.c | 6 +++--- TC1/timed_task/timed_task.c | 10 +++++----- TC1/timed_task/timed_task.h | 3 ++- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/TC1/http_server/app_httpd.c b/TC1/http_server/app_httpd.c index 7399fa4..f52031a 100644 --- a/TC1/http_server/app_httpd.c +++ b/TC1/http_server/app_httpd.c @@ -200,7 +200,7 @@ exit: static int HttpGetTasks(httpd_request_t *req) { pTimedTask pt = (pTimedTask)malloc(sizeof(struct TimedTask)); - pt->time = time(NULL) + 5; + pt->prs_time = time(NULL) + 5; pt->socket_idx = 5; pt->on = 0; AddTask(pt); @@ -220,7 +220,7 @@ static int HttpAddTask(httpd_request_t *req) char buf[16] = "5 1234567 0"; //假设已经获取到了. struct TimedTask task; - sscanf(buf, "%d %d %d", &task.time, &task.socket_idx, &task.on); + sscanf(buf, "%ld %d %d", &task.prs_time, &task.socket_idx, &task.on); char* mess = AddTask(&task) ? "OK" : "NO"; diff --git a/TC1/main.c b/TC1/main.c index c8a764c..7abddf8 100644 --- a/TC1/main.c +++ b/TC1/main.c @@ -170,10 +170,10 @@ int application_start(void) user_mqtt_hass_power(); time_t now = time(NULL); - if (task_top && now >= task_top->time) + if (task_top && now >= task_top->prs_time) { - os_log("process task time[%d] socket_idx[%d] on[%d]", - task_top->time, task_top->socket_idx, task_top->on); + os_log("process task time[%ld] socket_idx[%d] on[%d]", + task_top->prs_time, task_top->socket_idx, task_top->on); UserRelaySet(task_top->socket_idx, task_top->on); DelFirstTask(); } diff --git a/TC1/timed_task/timed_task.c b/TC1/timed_task/timed_task.c index 7e42308..4094c68 100644 --- a/TC1/timed_task/timed_task.c +++ b/TC1/timed_task/timed_task.c @@ -18,7 +18,7 @@ bool AddTask(pTimedTask task) return true; } - if (task->time <= task_top->time) + if (task->prs_time <= task_top->prs_time) { task->next = task_top; task_top = task; @@ -28,7 +28,7 @@ bool AddTask(pTimedTask task) pTimedTask tmp = task_top; while (tmp) { - if ((task->time > tmp->time && task->time <= tmp->next->time) + if ((task->prs_time > tmp->prs_time && task->prs_time <= tmp->next->prs_time) || tmp->next == NULL) { task->next = tmp->next; @@ -61,7 +61,7 @@ bool DelTask(int time) return false; } - if (time == task_top->time) + if (time == task_top->prs_time) { pTimedTask tmp = task_top; task_top = task_top->next; @@ -78,7 +78,7 @@ bool DelTask(int time) pTimedTask tmp_tsk = task_top->next; while (tmp_tsk) { - if (time == tmp_tsk->time) + if (time == tmp_tsk->prs_time) { pre_tsk->next = tmp_tsk->next; free(tmp_tsk); @@ -101,7 +101,7 @@ char* GetTaskStr() { char buffer[26]; struct tm* tm_info; - tm_info = localtime(&tmp_tsk->time); + tm_info = localtime(&tmp_tsk->prs_time); strftime(buffer, 26, "%Y-%m-%d %H:%M:%S", tm_info); sprintf(tmp_str, "{time:'%s',socket_index:%d,on:%d},", diff --git a/TC1/timed_task/timed_task.h b/TC1/timed_task/timed_task.h index 4a65b45..018729d 100644 --- a/TC1/timed_task/timed_task.h +++ b/TC1/timed_task/timed_task.h @@ -1,10 +1,11 @@ #pragma once +#include struct TimedTask; typedef struct TimedTask* pTimedTask; struct TimedTask { - int time; //琚墽琛岀殑鏍兼灄灏兼不鏃堕棿鎴 + time_t prs_time; //琚墽琛岀殑鏍兼灄灏兼不鏃堕棿鎴 int socket_idx; //瑕佹帶鍒剁殑鎻掑瓟 int on; //寮鎴栬呭叧 pTimedTask next; //涓嬩竴涓换鍔(鎸変箣闂存帓搴)