From 25b994cb65fb8f665e1dedbd00ad05a5053df8a2 Mon Sep 17 00:00:00 2001 From: OPTOC <9159397+optoc@user.noreply.gitee.com> Date: Fri, 5 Sep 2025 15:26:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E6=94=B6=E5=8F=91=E5=88=86=E4=B8=BA?= =?UTF-8?q?=E4=BF=A9=E4=B8=AA=E7=BA=BF=E7=A8=8B=EF=BC=8C=E5=B9=B6=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E9=97=AA=E7=BA=A2=E7=81=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/drivers/sertrf/sertrf.c | 24 +++++++++++++++++++++--- app/drivers/sertrf/sertrf.h | 3 ++- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/app/drivers/sertrf/sertrf.c b/app/drivers/sertrf/sertrf.c index 63d6f1f..36e7a0a 100644 --- a/app/drivers/sertrf/sertrf.c +++ b/app/drivers/sertrf/sertrf.c @@ -27,6 +27,12 @@ void sertrf_start(void) NULL, 4096, 20); + os_thread_create(&sertrf.pc_thread, + "pc_thread", + pc_thread, + NULL, + 4096, + 20); os_thread_create(&sertrf.task_thread, "task_thread", task_thread, @@ -34,6 +40,7 @@ void sertrf_start(void) 2048, 10); } +//因为 串口 void embedded_thread(void* arg) { while(true) @@ -49,7 +56,17 @@ void embedded_thread(void* arg) // SYS_LOG_INF("data : %s", data); pc_device_write(&sertrf.device, data, embedded_size); } - + printf_chill_time(10,1000); + + //需要添加一些延时,否则会卡死,导致看门狗复位 + // vTaskDelay(( TickType_t ) 1000 / configTICK_RATE_HZ); + os_thread_sleep(1); + } +} +void pc_thread(void* arg) +{ + while(true) + { uint32_t pc_size = pc_device_get_rx_length(&sertrf.device); if(pc_size > 0) @@ -66,6 +83,7 @@ void embedded_thread(void* arg) os_thread_sleep(1); } } + void task_thread(void* arg) { while(true) @@ -75,8 +93,8 @@ void task_thread(void* arg) if(sertrf.device.connect_pc > DISCONNECT) { - size_t end_time = 0; - if(start_time - end_time > 1000) + static size_t end_time = 0; + if(start_time - end_time > 2000) { switch(get_protocol_status()) { diff --git a/app/drivers/sertrf/sertrf.h b/app/drivers/sertrf/sertrf.h index 88ca35d..6c2d71f 100644 --- a/app/drivers/sertrf/sertrf.h +++ b/app/drivers/sertrf/sertrf.h @@ -4,11 +4,12 @@ #include "../led_strip/led_strip.h" #include "key.h" #include "protocol/p_protocol.h" - +#include "protocol/kuyi_protl.h" typedef struct { device_t device; os_thread_t embedded_thread; + os_thread_t pc_thread; os_thread_t task_thread; }sertrf_t;