#ifndef MODBUS_H #define MODBUS_H #include "device_ring_buffer.h" #include "device_adc.h" #include "device_address.h" #include "UART.h" #include "timer.h" #include "gpio.h" #include #define SIZE_MODBUS_PAKET (32) #define MAX_PAUSE (4) // Объявление адреса Slave #define HOLDING_REGISTER_SLAVE_ADDRESS 100 // Объявление номеров Discrete Inputs #define DISCRETE_INPUTS_1 0x00 #define DISCRETE_INPUTS_2 0x01 #define DISCRETE_INPUTS_3 0x02 #define DISCRETE_INPUTS_4 0x03 // Объявление номеров Coil #define COIL_1 0x00 #define COIL_2 0x01 #define COIL_3 0x02 #define COIL_4 0x03 // Объявление номеров Input Registers #define INPUT_REGISTERS 0x00 // Объявление кодов функций #define READ_COILS 1 #define READ_DISCRETE_INPUTS 2 #define READ_HOLDING_REGISTERS 3 #define READ_INPUT_REGISTERS 4 #define WRITE_SINGLE_COIL 5 #define WRITE_SINGLE_REGISTER 6 #define WRITE_MULTIPLE_COILS 15 #define WRITE_MULTIPLE_REGISTER 16 //Объявление кодов ошибок #define ILLEGAL_FUNCTION 1 #define ILLEGAL_DATA_ADDRESS 2 #define SLAVE_DEVICE_FAILURE 4 uint8_t size_of_packet; void modbus_init(void); void modbus_rtu (void); void modbus_answer(void); #endif /*MODBUS_H*/