From 114536314210bc7c9fb4723ec999f5efb0476ecc Mon Sep 17 00:00:00 2001 From: "mr.zhangsan" Date: Sat, 29 Jun 2024 19:47:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0rfid=E6=B2=A1=E5=B0=8F?= =?UTF-8?q?=E6=97=B6=E5=8F=91=E9=80=81=E4=B8=80=E6=AC=A1=E8=BD=AE=E8=AF=A2?= =?UTF-8?q?=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/app/task_rfid.c | 33 ++++++++++++++++++++------------- source/app/task_rfid.h | 1 + 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/source/app/task_rfid.c b/source/app/task_rfid.c index b29803b..b48c601 100644 --- a/source/app/task_rfid.c +++ b/source/app/task_rfid.c @@ -30,6 +30,7 @@ U8 rfidLoopRead[] = {0xBB,0x00,0x27,0x00,0x03,0x22,0xFF,0xFF,0x4A,0x7E}; //============================================= void L3_task_rfid_init(void) { + _s_task_rfid.last_send_time = 0; L1_task_init(&_s_task_rfid.task); L3_task_s_go(_s_task_rfid,D_task_init); } @@ -48,18 +49,24 @@ void L3_task_rfid_handler(S_TASK_RFID *s) L2_task_go_Tdelay(D_task_RFID_SET,D_Tdelay_4s); TTSS_Task_step(D_task_RFID_SET) - //1.设置天线 - L0_uart4_sendArray(rfidSetChannelCmd, sizeof(rfidSetChannelCmd) / sizeof(U8)); - NOP10(); - //2.设置功率 - L0_uart4_sendArray(rfidSetWCmd, sizeof(rfidSetWCmd) / sizeof(U8)); - NOP10(); - //3.选择掩码 - L0_uart4_sendArray(rfidSelCmd, sizeof(rfidSelCmd) / sizeof(U8)); - NOP10(); - //4.启动轮询 - L0_uart4_sendArray(rfidLoopRead, sizeof(rfidLoopRead) / sizeof(U8)); - NOP10(); + //1个小时发一次 + if(s->last_send_time == 0 || D_sys_now - s->last_send_time > D_sys_Jiffies(3600000)) + { + //1.设置天线 + L0_uart4_sendArray(rfidSetChannelCmd, sizeof(rfidSetChannelCmd) / sizeof(U8)); + NOP10(); + //2.设置功率 + L0_uart4_sendArray(rfidSetWCmd, sizeof(rfidSetWCmd) / sizeof(U8)); + NOP10(); + //3.选择掩码 + L0_uart4_sendArray(rfidSelCmd, sizeof(rfidSelCmd) / sizeof(U8)); + NOP10(); + //4.启动轮询 + L0_uart4_sendArray(rfidLoopRead, sizeof(rfidLoopRead) / sizeof(U8)); + NOP10(); + //记录上次发送时间 + s->last_send_time = D_sys_now; + } L2_task_go(D_task_RFID_READ); TTSS_Task_step(D_task_RFID_READ) @@ -69,7 +76,7 @@ void L3_task_rfid_handler(S_TASK_RFID *s) parse_rfid_pkg(); } //read next - L2_task_go_Tdelay(D_task_RFID_READ,0); + L2_task_go_Tdelay(D_task_RFID_SET,0); TTSS_Task_end(); } diff --git a/source/app/task_rfid.h b/source/app/task_rfid.h index 68615af..2cafea6 100644 --- a/source/app/task_rfid.h +++ b/source/app/task_rfid.h @@ -19,6 +19,7 @@ typedef struct _s_task_rfid { + U32 last_send_time; TS_task task; }S_TASK_RFID;