#ifndef _MODBUS_H #define _MODBUS_H // Includes #include "modbus_constants.h" #include "stdlib.h" void Modbus_TCP_Handler(unsigned char*, uint8_t); static unsigned char modbus_rx_buf[128]; #define CRC_COUNT_OFFSET 3 #define MODBUS_RHR_CMD (unsigned char)0x03 #define MODBUS_RIR_CMD (unsigned char)0x04 #define MODBUS_WSR_CMD (unsigned char)0x06 void modbus_wsr_answer(void); void modbus_rhr_answer(void); unsigned char modbus_get_poll(void); void holding_reg_write(uint16_t, uint16_t); void holding_reg_read(uint16_t, uint16_t*); void input_reg_write(uint16_t, uint16_t); void input_reg_read(uint16_t, uint16_t*); uint16_t get_wr_reg_addr(void); uint16_t get_wr_reg_val(void); unsigned char get_modbus_id(void); unsigned char get_modbus_broadcast_id(void); void set_modbus_id(unsigned char); void set_modbus_broadcast_id(unsigned char); void modbus_connect_callback_send_byte(void (*s)(USART_TypeDef*, unsigned char)); void modbus_connect_callback_tim_en(void (*s)(TIM_TypeDef*)); void modbus_connect_callback_tim_dis(void (*s)(TIM_TypeDef*)); void modbus_connect_callback_send_buf_tcp(int32_t (*s)(uint8_t, unsigned char*, uint16_t)); void modbus_connect_callback_rir_poll(void (*s)(void)); void modbus_connect_callback_rhr_poll(void (*s)(void)); void modbus_connect_callback_wsr_poll(void (*s)(uint16_t, uint16_t)); void Modbus_GetByte(unsigned char); void Modbus_TIM_Handler(void); void modbus_poll(void); void modbus_reset(void); #endif