Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
22.03.2021, 15:56 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2021 16:06 von luna.)
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.
Anzeige
22.03.2021, 17:37 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2021 18:53 von jg.)
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);
}