09-02-2020, 17:53
Sprawdź czy w swojej bibliotece masz metodę setID().
Wtedy w kodzie programu powinno być coś takiego dodać/pozmieniać:
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.
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;
}
//////////////////
}
Miło być decenianym https://buycoffee.to/kaczakat