22 lines
1.4 KiB
C
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
|