forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-06 64cf4a779ef5c16c79bbbee27370169dc8d69499
Function/FLOW_METER_DATA_COLLECT/rs485_read_data.h
@@ -2,26 +2,77 @@
#define _RS485_READ_DATA_H_
#include "define_all.h"
#include "system_general_para.h"
#define RS485_SEND_NORMAL(__DATA__,__SIZE__)    UARTx_SendData_Normal(UART5,__DATA__,__SIZE__)
#define      RS485_REREAD_NUM   3
#define      RS485_REREAD_WATI_TIME   3
#define      RS485_PWR_DELAY_TIME    30
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
{
  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 __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 rs485ReadDataPro(FUN_START_CTRL_PARA_T * sys_fun_run_ctrl_p);
#endif