From 6b0d1f644233b2984d2a87553de598879cf05caf Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Tue, 28 May 2024 17:24:59 +0800
Subject: [PATCH] 继续完善

---
 Function/FLOW_METER_DATA_COLLECT/rs485_read_data.h |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 112 insertions(+), 5 deletions(-)

diff --git a/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.h b/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.h
index 953531d..0fdbb40 100644
--- a/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.h
+++ b/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.h
@@ -2,26 +2,133 @@
 #define _RS485_READ_DATA_H_
 
 #include "define_all.h"
+#include "system_general_para.h"
+
+#define RS485_SEND_NORMAL(__DATA__,__SIZE__) 	do{RS485_RE_SEND_ENABLE;UARTx_SendData_Normal(UART5,__DATA__,__SIZE__);delay_us(10);RS485_RE_REC_ENABLE;}while(0)
+
+
+#define		RS485_REREAD_NUM	3
+#define		RS485_REREAD_WATI_TIME	3
+//#define		RS485_PWR_DELAY_TIME    30
+
+
+
+/****IO����****/
+
+//RS485�Ƿ�ռ���ж�����
+#define RS485_SYNC_PORT 	GPIOE
+#define RS485_SYNC_PIN 		GPIO_Pin_2
+#define RS485_SYNC_IO_READ	GPIO_ReadInputDataBit(RS485_SYNC_PORT, RS485_SYNC_PIN)
+
+//RS485оƬ����
+#define RS485_PWR_PORT 	GPIOA
+#define RS485_PWR_PIN 		GPIO_Pin_15
+#define RS485_PWR_ON		GPIO_SetBits(RS485_PWR_PORT,RS485_PWR_PIN)
+#define RS485_PWR_OFF		GPIO_ResetBits(RS485_PWR_PORT,RS485_PWR_PIN)
+
+
+//RS485�շ�ʹ��
+#define RS485_RE_PORT 	GPIOA
+#define RS485_RE_PIN 		GPIO_Pin_14
+#define RS485_RE_SEND_ENABLE		GPIO_SetBits(RS485_RE_PORT,RS485_RE_PIN)
+#define RS485_RE_REC_ENABLE		GPIO_ResetBits(RS485_RE_PORT,RS485_RE_PIN)
+
+//���⹩�����IO
+#define PWR_OUTPUT1_PORT 	GPIOB
+#define PWR_OUTPUT1_PIN 		GPIO_Pin_11
+#define PWR_OUTPUT1_ON		GPIO_SetBits(PWR_OUTPUT1_PORT,PWR_OUTPUT1_PIN)
+#define PWR_OUTPUT1_OFF		GPIO_ResetBits(PWR_OUTPUT1_PORT,PWR_OUTPUT1_PIN)
+#define PWR_OUTPUT2_PORT 	GPIOB
+#define PWR_OUTPUT2_PIN 		GPIO_Pin_12
+#define PWR_OUTPUT2_ON		GPIO_SetBits(PWR_OUTPUT2_PORT,PWR_OUTPUT2_PIN)
+#define PWR_OUTPUT2_OFF		GPIO_ResetBits(PWR_OUTPUT2_PORT,PWR_OUTPUT2_PIN)
+
+#define PWR_OUTPUT_9V_PORT 	GPIOB
+#define PWR_OUTPUT_9V_PIN 	GPIO_Pin_14
+#define PWR_OUTPUT_9V_ON		GPIO_SetBits(PWR_OUTPUT_9V_PORT,PWR_OUTPUT_9V_PIN)
+#define PWR_OUTPUT_9V_OFF		GPIO_ResetBits(PWR_OUTPUT_9V_PORT,PWR_OUTPUT_9V_PIN)
+#define PWR_OUTPUT_12V_PORT 	GPIOB
+#define PWR_OUTPUT_12V_PIN 	GPIO_Pin_15
+#define PWR_OUTPUT_12V_ON		GPIO_SetBits(PWR_OUTPUT_12V_PORT,PWR_OUTPUT_12V_PIN)
+#define PWR_OUTPUT_12V_OFF		GPIO_ResetBits(PWR_OUTPUT_12V_PORT,PWR_OUTPUT_12V_PIN)
+
+#define PWR_BOOST_EN_PORT 	GPIOB
+#define PWR_BOOST_EN_PIN 		GPIO_Pin_13
+#define PWR_BOOST_ENABLE		GPIO_SetBits(PWR_BOOST_EN_PORT,PWR_BOOST_EN_PIN)
+#define PWR_BOOST_DIABLE		GPIO_ResetBits(PWR_BOOST_EN_PORT,PWR_BOOST_EN_PIN)
+
 
 
 typedef enum
 {
   RS485_COM_IDLE = 0U,
 	RS485_COM_PWR_ON,
+//	RS485_COM_PWR_WAIT,
 	RS485_COM_SEND,
 	RS485_COM_WAIT_ANSWER,
-	RS485_COM_TIMEOUT,
-	RS485_COM_OFF
+//	RS485_COM_PASS,         //���ճɹ�״̬�����Խ��гɹ������������֮����ת��IDLE״̬
+//	RS485_COM_TIMEOUT,
+//	RS485_COM_OFF
 	
-} RS485_COM_STATUS_T; // ����״̬����
+} RS485_COM_STATUS_T; // RS485����״̬����,״̬��ÿ���л���Ҫ��һ���������ڣ�Ϊ�˽�ʡʱ�䣬ֻ��3��״̬
+
+
+#define	RS485_COM_REC_BUF_LENGTH	256
+typedef struct{
+
+	uint8_t  recv_buf[RS485_COM_REC_BUF_LENGTH];
+	uint16_t recv_length;
+  FlagStatus recv_flag;
+
+}RS485_COM_UART_PARA_T;
+
+
+typedef enum
+{
+  RS485_V1_5V = 0x0U,
+	RS485_V1_9V = 0x1U,
+	RS485_V1_12V = 0x2U,
+	RS485_V2_5V = 0x10U,
+	
+} RS485_PWR_OUTPUT_SELECT; //
+
+
+typedef enum
+{
+  STEP_NONE = 0U,
+	MODBUS_STEP1,
+	MODBUS_STEP2,
+	MODBUS_STEP3,
+	MODBUS_STEP4,
+	MODBUS_STEP5,
+	MODBUS_STEP6,
+	
+} RS485_MODBUS_STEP_STATUS_T; //
 
 
 
+typedef struct{
+	
+	RS485_COM_STATUS_T  status ;   //
+	uint8_t 						reread_num_cnt ;    //�ض���������
+	uint8_t   					reread_wait_time_cnt;    //�ض��ȴ�ʱ�����
+	
+	FlagStatus					pwr_delay_status;  //����ȴ�״̬
+	uint8_t 						pwr_delay_time_out_cnt; //����ȴ�����
+	
+	RS485_MODBUS_STEP_STATUS_T	modbus_step_status;  //����modbus��ַ�ֵıȽϿ�������һ���Զ�ȡ���������Ҫ�ֶ�ζ�ȡ
+	RS485_MODBUS_STEP_STATUS_T	modbus_last_status;  //����modbus��ַ�ֵıȽϿ�������һ���Զ�ȡ���������Ҫ�ֶ�ζ�ȡ
+	
+}RS485_COM_CTRL_PARA_T;
 
 
-extern __IO  RS485_COM_STATUS_T	rs485_com_status_g;
 
-void rs485ReadDataPro(void);
+extern RS485_COM_UART_PARA_T	rs485_com_uart_data_g;
+extern __IO RS485_COM_CTRL_PARA_T rs485_com_ctrl_pata_g;
+
+
+void RS485_read_data_GPIO_Init(void);
+void rs485ReadDataPro(FUN_START_CTRL_PARA_T * sys_fun_run_ctrl_p);
 
 
 #endif

--
Gitblit v1.9.3