Ciao a tutti, intanto essendo nuovo chiedo scusa per eventuali errori ed omissioni in questo mio intervento; avrei bisogno di connettermi ad una linea seriale rs232(regolatore di carica pannello fotovoltaico) per la quale il costruttore mi ha inviato protocollo di comunicazione, il problema che per il calcolo della checksum viene riportato un esempio che a causa della mia scarsa competenza non riesco a comprendere.
Qualcuno puo' aiutarmi a comprendere quali operazioni vengono compiute su una stringa come questa dal codice di esempio?
Grazie molte!
codice:
// Start code_ address_ control_ function_ Data lenght_ Checksum
// 0x550xAA 0x01 0x00 0x00 0x000x00 2 byte
// codice java di esempio per il calcolo dei due byte esadecimali della checksum.
public static String getCheckSum (String.s){
String result = "";
int sum = 0;
for (int i = 0; i < s.length() - 1; i = i+2) {
String temp = s.substring (i, i + 2);
int x = Integer.parseInt (temp, 16);
sum += x;
}
result = Integer.toHexString (sum);
while (result.length() < 4) {
result = "0" + result;
}
return result.toUpperCase();
}