#ifndef __MODBUS_H #define __MODBUS_H #include "sys.h" #include "usart2.h" #include "tim2.h" #define MB_SER_PDU_SIZE_MAX 128 typedef struct { unsigned char data[128]; unsigned char len; } UART_msg; typedef enum { STATE_RX_INIT, STATE_RX_IDLE, STATE_RX_RCV, STATE_RX_ERROR } eMBRcvState; typedef enum { STATE_TX_IDLE, STATE_TX_XMIT } eMBSndState; extern volatile eMBSndState eSndState; extern volatile eMBRcvState eRcvState; extern volatile u8 ucRTUBuf[MB_SER_PDU_SIZE_MAX]; extern volatile u8 usRcvBufferPos; extern volatile u8 ucRTU_TBuf[MB_SER_PDU_SIZE_MAX]; extern volatile u8 usRcv_TBufferPos; typedef uint8_t BOOL; #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif void eMBRTUStart_Rx( void ); void eMBRTUStart_Tx( void ); void eMBRTUStop( void ); u8 Slave_Addr_check(u8 addr); void BSP_modbus(u16 band) ; #endif