Modbus_master_2/modbus/modbus.h

22 lines
1.4 KiB
C

#ifndef MODBUS_H
#define MODBUS_H
#include <stdint.h>
#include <stddef.h>
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