From 5ac1d0febb8de5e91ce2463baea68ddac3f66091 Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Thu, 16 May 2024 20:00:17 +0800
Subject: [PATCH] 完善脉冲计费和485采集处理
---
Function/FLOW_METER_DATA_COLLECT/rs485_read_data.h | 66 ++++++++++++++++++++++++++++++--
1 files changed, 61 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 bec0fa4..feef95e 100644
--- a/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.h
+++ b/Function/FLOW_METER_DATA_COLLECT/rs485_read_data.h
@@ -4,13 +4,58 @@
#include "define_all.h"
#include "system_general_para.h"
-#define RS485_SEND_NORMAL(__DATA__,__SIZE__) UARTx_SendData_Normal(UART5,__DATA__,__SIZE__)
+#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)
@@ -40,6 +85,16 @@
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,
@@ -61,17 +116,18 @@
FlagStatus pwr_delay_status; //����ȴ�״̬
uint8_t pwr_delay_time_out_cnt; //����ȴ�����
- RS485_MODBUS_STEP_STATUS_T modbus_step_status;
- RS485_MODBUS_STEP_STATUS_T modbus_last_status;
+ 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;
-//extern __IO FlagStatus rs485_pwr_delay_status_g; //����ʱ�䵽���־
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);
--
Gitblit v1.9.3