#ifndef _RS485_READ_DATA_H_
|
#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_PASS, //×îÖճɹ¦×´Ì¬£¬¿ÉÒÔ½øÐгɹ¦´¦Àí£¬´¦ÀíÍê±ÏÖ®ºóÔÙת³ÉIDLE״̬
|
// RS485_COM_TIMEOUT,
|
// RS485_COM_OFF
|
|
} 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;
|
//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
|