Jag är i färd med att läsa av en modbuss komunikation med en arduino UNO samt ESP8266 wifimodul
WiFi modulen fungerar när jag kör den med en annan kod och svarar på Ping.
Mitt problem uppkommer när jag kör <ModbusIP_ESP8266.h> biblioteket får jag felmeddelande enl nedan:
Arduino:1.8.13 (Windows 7), Kort:"Arduino Uno"
In file included from C:\Users\P�l\Documents\Arduino\libraries\modbus-esp8266\src\Modbus.cpp:6:0:
C:\Users\P�l\Documents\Arduino\libraries\modbus-esp8266\src\Modbus.h:9:10: fatal error: vector: No such file or directory
#include <vector>
^~~~~~~~
compilation terminated.
exit status 1
Error compiling for board Arduino Uno.
Är det någon som vet om det finns någon lösning på problemet?
Kan tillägga att när man letar efter exemplkoden i "exempel" menyn ligger dom under en kategori som heter "EJ KOMPATIBLA" längs ner i rullisten.
Här mr även koden om det kan hjälpa:
Kod: Markera allt
/*
Modbus-Arduino Example - Master Modbus IP Client (ESP8266/ESP32)
Read Holding Register from Server device
(c)2018 Alexander Emelianov (a.m.emelianov@gmail.com)
https://github.com/emelianov/modbus-esp8266
*/
#ifdef ESP8266
#include <ESP8266WiFi.h>
#else
#include <WiFi.h>
#endif
#include <ModbusIP_ESP8266.h>
const int REG = 528; // Modbus Hreg Offset
IPAddress remote(192, 168, 0, 208); // Address of Modbus Slave device
const int LOOP_COUNT = 10;
ModbusIP mb; //ModbusIP object
void setup() {
Serial.begin(115200);
WiFi.begin("TP-Link_2640", "**********");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
mb.client();
}
uint16_t res = 0;
uint8_t show = LOOP_COUNT;
void loop() {
if (mb.isConnected(remote)) { // Check if connection to Modbus Slave is established
mb.readHreg(remote, REG, &res); // Initiate Read Coil from Modbus Slave
} else {
mb.connect(remote); // Try to connect if no connection
}
mb.task(); // Common local Modbus task
delay(100); // Pulling interval
if (!show--) { // Display Slave register value one time per second (with default settings)
Serial.println(res);
show = LOOP_COUNT;
}
}