forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-04-30 ee3c90168f81ce19529904d80f9c9de4fed23bb8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#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;
    RS485_MODBUS_STEP_STATUS_T    modbus_last_status;
    
}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