#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