From 6e3f1f560d618b37ee1a47fa2b0f682b70c3ef1c Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Wed, 19 Jun 2024 17:25:45 +0800
Subject: [PATCH] 增加OTA协议
---
Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c b/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c
index c4bb60b..1e33468 100644
--- a/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c
+++ b/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.c
@@ -5,6 +5,7 @@
#include "gpio.h"
#include "uart.h"
#include "linked_list.h"
+#include "sizhu_alarm_record.h"
/****�������˼·******************
*RS485������Ʒ�Ϊ�ϵ硢���Ͷ�ȡָ��ȴ��������ݲ���������״̬�����裻����ʵ�ֵȴ���ʱ�жϺͶ���ض���
@@ -83,6 +84,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 +242,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);
@@ -258,20 +262,22 @@
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;
- read_ok = rs485ComDataAnalysis(rs485_com_uart_data_g,SIZHUMODBUSV2_0,1,rs485_com_ctrl_pata_g ) ;//?�豸���롢�ӻ���ַ���Ҫ��
+ 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){
if(rs485_com_ctrl_pata_g.modbus_step_status >= rs485_com_ctrl_pata_g.modbus_last_status) {
- //?����ͨѶȫ���ɹ���������Ӧ�Ĵ���
+ //����ͨѶȫ���ɹ���������Ӧ�Ĵ���
//�رյ�Դ���رմ���
RS485_PWR_OFF;
RS485_RE_REC_ENABLE;
@@ -293,7 +299,7 @@
if((--rs485_com_ctrl_pata_g.reread_wait_time_cnt)==0){
if((--rs485_com_ctrl_pata_g.reread_num_cnt)==0){
- //?��ʱ���ض��������꣬����ͨѶ������ʧ�ܸ��գ�������Ӧ�Ĵ���
+ //��ʱ���ض��������꣬����ͨѶ������ʧ�ܸ��գ�������Ӧ�Ĵ���
//�رյ�Դ���رմ��ڣ�RS485ͨѶʧ��+1,
RS485_PWR_OFF;
RS485_RE_REC_ENABLE;
--
Gitblit v1.9.3