- Code: [Выделить всё] [Expand/Collapse]
- #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();
- }
- GeSHi © Codebox Plus
частотный преобразователь Я настроил он имеет скорость 9600; ID 1; 8N2;
как написано в инструкции преобразователя посылка должна быть такой:
ADR : 01H // прописываем в modbus_construct()
CMD : 06H // прописываем в modbus_construct()
ADRESS: A0H // как прописать этот адрес в modbus_construct()???
00H
DATA : 00H // в какую ячейку regs вписать это значение ???
01H
CRC : 6AH // программный подсчет CRC16
: 0AH