Код: Выделить всё
#include <SimpleModbusMaster.h>
#define baud 9600
#define timeout 1000
#define polling 200
#define retry_count 10
#define TxEnablePin 22
#define TOTAL_NO_OF_REGISTERS 7
enum
{
PACKET1,
TOTAL_NO_OF_PACKETS
};
Packet packets[TOTAL_NO_OF_PACKETS];
unsigned int regs[TOTAL_NO_OF_REGISTERS];
void setup()
{
modbus_construct(&packets[PACKET1], 1, PRESET_SINGLE_REGISTER, 1, 1, 9); // это пример из мануала, здесь и возникают вопросы
modbus_configure(&Serial1, baud, SERIAL_8N2, timeout, polling, retry_count, TxEnablePin, packets, TOTAL_NO_OF_PACKETS, regs);
}
void loop()
{
modbus_update();
}
как написано в инструкции преобразователя посылка должна быть такой:
ADR : 01H // прописываем в modbus_construct()
CMD : 06H // прописываем в modbus_construct()
ADRESS: A0H // как прописать этот адрес в modbus_construct()???
00H
DATA : 00H // в какую ячейку regs вписать это значение ???
01H
CRC : 6AH // программный подсчет CRC16
: 0AH