From 08b3909c40a192778719c6262bbee4745682948d Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Fri, 31 May 2024 19:15:47 +0800
Subject: [PATCH] 测试和修改了一些功能bug

---
 Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c b/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c
index 51418db..c4bb60b 100644
--- a/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c
+++ b/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c
@@ -66,12 +66,12 @@
 void RS485_read_data_RX_DMA_check(void)
 {
 	uint16_t timeout_cnt = 0,dma_recv_cnt;
-	uint32_t dma_mar_reg_read = DMA_CHxMAR_Read(DMA_CH3);
+	uint32_t dma_mar_reg_read = DMA_CHxMAR_Read(RS485_READ_DATA_DMA_CHX);
 	
 	if(dma_mar_reg_read != (uint32)RS485_read_data_recv_buff){
 		delay_ms(2);
-		while(dma_mar_reg_read != DMA_CHxMAR_Read(DMA_CH3)){
-			dma_mar_reg_read = DMA_CHxMAR_Read(DMA_CH3);
+		while(dma_mar_reg_read != DMA_CHxMAR_Read(RS485_READ_DATA_DMA_CHX)){
+			dma_mar_reg_read = DMA_CHxMAR_Read(RS485_READ_DATA_DMA_CHX);
 			delay_ms(2);
 			if(timeout_cnt++ > 100)
 				break;	
@@ -218,7 +218,7 @@
 	if(rs485_com_ctrl_pata_g.pwr_delay_time_out_cnt == 0)  //��ʱ��0�Ϳ��Է��Ͷ�ȡָ��
 	{		
 		//��������
-		RS485_UART_GPIO_Init();
+//		RS485_UART_GPIO_Init(); //uart_Init�Ѿ�������IO����
 		switch(flow_meter_para_g.baudrate_code ){
 			case BAUDRATE_1200:BaudRate = 1200; break;
 			case BAUDRATE_2400:BaudRate = 2400; break;
@@ -246,10 +246,12 @@
 		rs485_com_ctrl_pata_g.reread_wait_time_cnt = RS485_REREAD_WATI_TIME; //���õȴ���Ӧʱ��
 		return RS485_COM_WAIT_ANSWER;
 	}
+	
+	return	RS485_COM_SEND;
 }
 
 
-#define RS485_READ_ERR_ALARM_TIMES   2  //����RS485_READ_ERR_ALARM_TIMES��ʧ�ܱ���RS485�쳣
+#define RS485_READ_ERR_ALARM_TIMES   1  //����RS485_READ_ERR_ALARM_TIMES��ʧ�ܱ���RS485�쳣
 RS485_COM_STATUS_T	rs485ComWaitAnswerHandle(void)
 {
 	static uint8_t	RS485_err_cnt =0 ; //��ȡʧ�ܼ���
@@ -263,6 +265,8 @@
 		rs485_com_uart_data_g.recv_flag =RESET;
 		
 		read_ok = rs485ComDataAnalysis(rs485_com_uart_data_g,SIZHUMODBUSV2_0,1,rs485_com_ctrl_pata_g ) ;//?�豸���롢�ӻ���ַ���Ҫ��
+		memset(rs485_com_uart_data_g.recv_buf, 0, sizeof(rs485_com_uart_data_g.recv_buf)); //Ӧ�������ս���
+
 	}
 	
 	if(read_ok==PASS){
@@ -301,7 +305,7 @@
 			RS485_UART_GPIO_sleep();
 			if(RS485_err_cnt < 250){
 				if( ++RS485_err_cnt >= RS485_READ_ERR_ALARM_TIMES)
-					__SYS_STATUS_ALARM_BYTES_SET(RS485_err);
+					__SYS_STATUS_ALARM_BYTES_SET(RS485_err,ALARM_ID_READ_485_ABNORMAL);
 			}
 		
 			return RS485_COM_IDLE;
@@ -326,7 +330,6 @@
 			rs485_com_ctrl_pata_g.status = RS485_COM_PWR_ON;
 			sys_fun_run_ctrl_p->rs485_ctrl_flag.running_flag = SET;
 		}
-	
 	}
 	
 	switch (rs485_com_ctrl_pata_g.status){
@@ -345,4 +348,4 @@
 			RS485_trigger_settle_flag = SET; //RS485�ɼ�֮�󴥷�һ�ν���	
 		}		
 	}
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3