From cf4d12fd8322cbb350dd3bc5af8c748e8790ac64 Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Wed, 05 Jun 2024 17:38:06 +0800
Subject: [PATCH] 继续测试修改

---
 Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c b/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c
index c1bef8a..371a43e 100644
--- a/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c
+++ b/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c
@@ -83,6 +83,8 @@
 	dma_recv_cnt = dma_mar_reg_read - (uint32)RS485_read_data_recv_buff;
 	if(dma_recv_cnt)
 	{
+		if((dma_recv_cnt >= RS485_READ_DATA_RECV_BUFF_LEN_MAX)||(dma_recv_cnt >= WRC_REC_BUF_LENGTH))
+			return;
 		rs485_com_uart_data_g.recv_length = dma_recv_cnt;
 		arrayA_2_arrayB(RS485_read_data_recv_buff , rs485_com_uart_data_g.recv_buf, dma_recv_cnt, LITTLE_ENDIAN) ;
 		rs485_com_uart_data_g.recv_flag = SET;//�������
@@ -239,6 +241,7 @@
 		
 		RS485_read_data_uart_Init(BaudRate,ParityBit,OneBit);
 		RS485_read_data_RX_DMA_CH3_Init();
+		uart_ctrl_para_g.RS485_rxto_flag = RESET;
 		
 		RS485_PWR_ON;
 		delay_us(10);
@@ -246,6 +249,8 @@
 		rs485_com_ctrl_pata_g.reread_wait_time_cnt = RS485_REREAD_WATI_TIME; //���õȴ���Ӧʱ��
 		return RS485_COM_WAIT_ANSWER;
 	}
+	
+	return	RS485_COM_SEND;
 }
 
 
@@ -256,8 +261,10 @@
 	
 	ErrorStatus	read_ok = FAIL;
 	//��鴮������
-	RS485_read_data_RX_DMA_check();
-	
+	if(uart_ctrl_para_g.RS485_rxto_flag ==SET){
+		uart_ctrl_para_g.RS485_rxto_flag = RESET;
+		RS485_read_data_RX_DMA_check();
+	}
 	//��������,����ɹ���������read_ok = PASS
 	if(rs485_com_uart_data_g.recv_flag == SET){
 		rs485_com_uart_data_g.recv_flag =RESET;
@@ -346,4 +353,4 @@
 			RS485_trigger_settle_flag = SET; //RS485�ɼ�֮�󴥷�һ�ν���	
 		}		
 	}
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3