modbus.h 1007 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef __MODBUS_H
  2. #define __MODBUS_H
  3. #include "sys.h"
  4. #include "usart2.h"
  5. #include "tim2.h"
  6. #define MB_SER_PDU_SIZE_MAX 128
  7. typedef struct
  8. {
  9. unsigned char data[128];
  10. unsigned char len;
  11. } UART_msg;
  12. typedef enum
  13. {
  14. STATE_RX_INIT,
  15. STATE_RX_IDLE,
  16. STATE_RX_RCV,
  17. STATE_RX_ERROR
  18. } eMBRcvState;
  19. typedef enum
  20. {
  21. STATE_TX_IDLE,
  22. STATE_TX_XMIT
  23. } eMBSndState;
  24. extern volatile eMBSndState eSndState;
  25. extern volatile eMBRcvState eRcvState;
  26. extern volatile u8 ucRTUBuf[MB_SER_PDU_SIZE_MAX];
  27. extern volatile u8 usRcvBufferPos;
  28. extern volatile u8 ucRTU_TBuf[MB_SER_PDU_SIZE_MAX];
  29. extern volatile u8 usRcv_TBufferPos;
  30. typedef uint8_t BOOL;
  31. #ifndef TRUE
  32. #define TRUE 1
  33. #endif
  34. #ifndef FALSE
  35. #define FALSE 0
  36. #endif
  37. void eMBRTUStart_Rx( void );
  38. void eMBRTUStart_Tx( void );
  39. void eMBRTUStop( void );
  40. u8 Slave_Addr_check(u8 addr);
  41. void BSP_modbus(u16 band) ;
  42. #endif