From 374efdc80e2d8c516f683b89cc61ca025d64257b Mon Sep 17 00:00:00 2001 From: "mr.zhangsan" Date: Sat, 4 May 2024 19:17:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B2=E5=8F=A34=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/app/main.c | 4 ++-- source/app/task_rs485.c | 8 +++----- source/msp/UART0.C | 2 +- source/msp/UART4.C | 4 ++-- source/tpc/debug.c | 6 ++++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/source/app/main.c b/source/app/main.c index d327b28..2996149 100644 --- a/source/app/main.c +++ b/source/app/main.c @@ -172,13 +172,13 @@ void main(void) } //NFC协议处理 - //L3_task_nfc_handler(&_s_task_nfc); + L3_task_nfc_handler(&_s_task_nfc); //RFID协议处理 L3_task_rfid_handler(&_s_task_rfid); //RS485协议处理 - //L3_task_rs485_handler(&_s_task_rs485); + L3_task_rs485_handler(&_s_task_rs485); //串口调试 // if(ts_uart3_recv_buf.ok == 1){ diff --git a/source/app/task_rs485.c b/source/app/task_rs485.c index 878b6c0..398ce54 100644 --- a/source/app/task_rs485.c +++ b/source/app/task_rs485.c @@ -39,11 +39,9 @@ void L3_task_rs485_handler(S_TASK_RS485 *s) if(ts_uart4_recv_buf.ok == 1) { ts_uart4_recv_buf.ok = 0; - // L0_uart0_uc(ts_uart4_recv_buf.reg); - LED0 ^= 1; - //Lc_buf_copy_uc((U8*)&tpc_rs485, ts_uart4_recv_buf.buf, ts_uart4_recv_buf.num); - //tpc_rs485.ocr = tpc_rs485.buf[tpc_rs485.num[0] << 8 | tpc_rs485.num[1]]; - //L2_task_go_Tdelay(D_task_RS485_PRINT,0); + Lc_buf_copy_uc((U8*)&tpc_rs485, ts_uart4_recv_buf.buf, ts_uart4_recv_buf.num); + tpc_rs485.ocr = tpc_rs485.buf[tpc_rs485.num[0] << 8 | tpc_rs485.num[1]]; + L2_task_go_Tdelay(D_task_RS485_PRINT,0); } TTSS_Task_step(D_task_RS485_PRINT) diff --git a/source/msp/UART0.C b/source/msp/UART0.C index bedef75..5de1bfb 100644 --- a/source/msp/UART0.C +++ b/source/msp/UART0.C @@ -60,7 +60,7 @@ msp/uartx.c 底层代码 和cpu相关 缓存发送也放在里面 int g_uart0_send_num = 0; //发送缓冲区 -static volatile Ts_uart_send_buf ts_uart_send_buf; +static volatile Ts_uart_send_buf idata ts_uart_send_buf; //接收缓冲区最多存放16个字符,这个值尽量小,但要大于实际处理协议的缓冲区大小 U8 uart0_recv_buf[16]; Ts_uart_recv_buf ts_uart0_recv_buf; diff --git a/source/msp/UART4.C b/source/msp/UART4.C index 9582481..ef4d775 100644 --- a/source/msp/UART4.C +++ b/source/msp/UART4.C @@ -58,7 +58,7 @@ msp/uartx.c 底层代码 和cpu相关 缓存发送也放在里面 #include "../tpc/debug.h" //发送缓冲区 -static volatile Ts_uart_send_buf ts_uart_send_buf; +static volatile Ts_uart_send_buf idata ts_uart_send_buf; //接收缓冲区最多存放16个字符,这个值尽量小,但要大于实际处理协议的缓冲区大小 #define RECV_BUF_SIZE 32 static U8 uart4_recv_buf[RECV_BUF_SIZE]; @@ -126,7 +126,7 @@ void L0_uart4_buf_init(void) void L0_uart4_sendArray(U8 * buf, U16 len) { #if (D_UART4_485_TYPE != TYPE_485_NONE) - //D_UART4_485_TX() //切换到输出状态 + D_UART4_485_TX() //切换到输出状态 #endif L0_uartN_sendArray(uNum4,buf,len); } diff --git a/source/tpc/debug.c b/source/tpc/debug.c index 801e6e4..330e36c 100644 --- a/source/tpc/debug.c +++ b/source/tpc/debug.c @@ -176,8 +176,8 @@ void L1_s2b_rfid (Ts_uart_recv_buf *p) //reentrant void L1_s2b_rs485 (Ts_uart_recv_buf *p) //reentrant { // LED0 ^= 1; - p->ok = 1; - return; + // p->ok = 1; + // return; if (0 == p->head) { p->buf[p->index++] = p->reg; @@ -194,6 +194,8 @@ void L1_s2b_rs485 (Ts_uart_recv_buf *p) //reentrant p->head = 0; p->ok = 0; p->index = 0; + //往前移动一位 + p->buf[p->index++] = p->buf[1]; } } }