LabVIEWForum.de
Prüfsumme berechnen für String mit Sonderzeichen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Prüfsumme berechnen für String mit Sonderzeichen (/Thread-Pruefsumme-berechnen-fuer-String-mit-Sonderzeichen)



Prüfsumme berechnen für String mit Sonderzeichen - luna - 22.03.2021 15:56

hallo zusammen,
Ich bin ganz neu bei LabVIEW. ich muss eine Prüfsumme berechnen für String mit Sonderzeichen {STX}s!.
Ich habe keine Ahnung wie ich {STX}s! einlesen soll und zu ASCII Code umstellen.


Prüfsumme berechnen - luna - 22.03.2021 17:37

Bei der Prüfsumme handelt es sich um das 256-Komplement des Modulo-256-Divisionsrests über die ASCII-Werte aller Zeichen im String, die Werte für ETX und die Prüfsumme
selbst werden nicht addiert.
das ist das

Der String lautet: {STX}s!E8{ETX}


Programmiersprache: C++

const char ASCII[ ]= "0123456789ABCDEF";
char *Pruefsumme (char *buffer)
{
static char Hex[10];
static int a1, a2;
register unsigned int i;
int sum;
sum = 256;
for ( i=0 ; i<strlen(buffer) ; i++ )
{
sum-=buffer[i];
if ( sum<0 )
sum+= 256;
}
a1 = (sum & 0xF0) >> 4;
a2 = sum & 0x0F;
Hex[0] = ASCII[a1];
Hex[1] = ASCII[a2];
Hex[2] = 0;
return(Hex);
}

wie kann ich es mit labView umsetzen


RE: Prüfsumme berechnen für String mit Sonderzeichen - jg - 22.03.2021 18:18

Hallo Luna,

dann schau mal hier:
https://de.wikipedia.org/wiki/Steuerzeichen

STX hat den HEX-Code 0x02, String-Anzeige umstellen auf HEX oder \Codes, dann kann man auch solche Sonderzeichen in einem String darstellen.

Gruß, Jens


RE: Prüfsumme berechnen - jg - 22.03.2021 18:32

Hallo,

google findet dieselbe Frage hier schon beantwortet:
https://www.labviewforum.de/Thread-Pruefsummenberechnung-anhand-C-Code

Gruß, Jens