#include #include #define RE 7 #define DE 8 #define RE2 2 #define DE2 3 const byte O1[] = {0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x02 ,0xC4 ,0x0B}; const byte O2[] = {0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x02 ,0xC4 ,0x0B}; byte values[20]; byte values2[20]; SoftwareSerial mod(10, 11); // RO / DI SoftwareSerial mod2(5, 6); // RO / DI void setup() { Serial.begin(4800); mod.begin(4800); mod2.begin(4800); pinMode(RE, OUTPUT); pinMode(DE, OUTPUT); pinMode(RE2, OUTPUT); pinMode(DE2, OUTPUT); } void loop() { int val1 = 0 ; // SPEED int val2 = 0 ; // DIR Calculate(); //val1 = ((values[5]*256)+values[6]); val1 = values[4]; Serial.print("speed: "); Serial.println(val1); delay(1000); Calculate2(); val2 = values2[4]; Serial.print("dir: "); Serial.println(val2); delay(1000); } byte Calculate() { digitalWrite(DE, HIGH); digitalWrite(RE, HIGH); delay(10); if (mod.write(O1, sizeof(O1)) == 8) { digitalWrite(DE, LOW); digitalWrite(RE, LOW); for (byte i = 0; i < 11; i++) { //Serial.print(mod.read(),HEX); values[i] = mod.read(); Serial.print(values[i]); Serial.print(" "); } } Serial.println(" "); } byte Calculate2() { digitalWrite(DE2, HIGH); digitalWrite(RE2, HIGH); delay(10); if (mod2.write(O2, sizeof(O2)) == 8) { digitalWrite(DE2, LOW); digitalWrite(RE2, LOW); for (byte i = 0; i < 11; i++) { //Serial.print(mod2.read(),HEX); values2[i] = mod2.read(); //Serial.print(values2[i]); //Serial.print(" "); } } Serial.println(" "); }