#ifndef MODBUS_H #define MODBUS_H #include #include unsigned int CRC16_Modbus(unsigned char* buf, int len); size_t read_coil_status(uint8_t address, uint16_t discret_input, unint8_t* buf, size_t buf_len); size_t read_coil_status_ans(unit8_t address, uint8_t meaning, unint8_t* buf, size_t buf_len); size_t read_input_status(uint8_t address, uint16_t discret_input, unint8_t* buf, size_t buf_len); size_t read_input_status_ans(unit8_t address, uint8_t meaning, unint8_t* buf, size_t buf_len); size_t read_holding_register(uint8_t address, uint16_t holding_reg, unint8_t* buf, size_t buf_len); size_t read_holding_register_ans(unit8_t address, uint8_t meaning, unint8_t* buf, size_t buf_len); size_t read_input_register(uint8_t address, uint16_t input_reg, unint8_t* buf, size_t buf_len); size_t read_input_register_ans(unit8_t address, uint8_t meaning, unint8_t* buf, size_t buf_len); size_t forse_single_coil(unit8_t address, uint16_t address_input, int on, unint8_t* buf, size_t buf_len); size_t forse_single_coil_ans(unit8_t address, uint16_t address_input, int on, unint8_t* buf, size_t buf_len); size_t preset_single_register(unit8_t address, uint16_t address_input, uint16_t recorded_value, unint8_t* buf, size_t buf_len); size_t preset_single_register_ans(unit8_t address, uint16_t address_input, uint16_t recorded_value, unint8_t* buf, size_t buf_len); #endif