• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Modbus RTU RS485
#2
Sprawdź czy w swojej bibliotece masz metodę setID().
Wtedy w kodzie programu powinno być coś takiego dodać/pozmieniać:
Kod:
///
uint8_t slaveaddress=1; //jak jest zmienna to mozna z nia robic rozne rzeczy
Modbus slave(slaveaddress,0,TXEN); // this is slave @1 and RS-485
///
/

void setup() {
//////////
  slave.begin( 19200 ); // baud-rate at 19200
  //////////
}

void loop() {
///////
  if (chceZmienicAdresSlave==true)
 
    {
   slave.setID(++slaveaddress); //zmiana na wyzszy o 1
   // lub
   //slave.setID(dowolnyWybranyOd0Do255);  //bo taka jest mozliwosc zmiennej uint8_t, ale czasami max to 0-31.
     chceZmienicAdresSlave=false;
    }
////////////////// 
}
Wszystko po tym ifie będzie ignorował, bo on już nie jest ID==1. Powinieneś też dodać zapis i odczyt ID do EEPROM, tak by po włączeniu SLAVE dostawał ostatnio używany adres, no ale oczywiście to zależy co chcesz.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Wiadomości w tym wątku
Modbus RTU RS485 - przez pejdzejro - 07-02-2020, 11:55
RE: Modbus RTU RS485 - przez kaczakat - 09-02-2020, 17:53

Skocz do:


Przeglądający: 1 gości