Byte Array to Integer

Hallo,

ich suche eine einfache Möglichkeit 4 Werte aus einem Byte Array zu einer Zahl zu addieren und zu verarbeiten.

Von der seriellen Schnittstelle werden die Daten in einem Byte Array gesammelt und weiterverarbeitet.
Wenn ich das Array ausgebe ist alles richtig.
Ich muss aber für weitere Berechnungen die einzelnen Zahlen addieren und in einem Wert haben.
Hier komme ich aber nicht weiter.

int onZeit = 0;
byte array1[60];
//0D 0E 32 33 30 2C 30 35 30 2C 35 34 36 39 DF
//35 34 36 39 das ist die zu verarbeitende Zahl
//35=5; 34=4; 36=6; 39=9 --> 5469

Serial.print("onZeit=");
Serial.write(array1[10]);
Serial.write(array1[11]);
Serial.write(array1[12]);
Serial.write(array1[13]);
Serial.println();

//Ausgabe: onZeit: 5469 --> passt soweit

In die Variable "onZeit" sollte nun 5469 rein.

(array[10]-0x30)*1000+
(array[11]-0x30)*100+
(array[12]-0x30)*10+
array[13]-0x30

meinst nicht auch?

1 Like

Danke, manchmal steht man aber auch auf dem Schlauch.

scheint so.
Nicht vergessen, herzerl und solution drücken wenn du der Meinung warst das wars...

1 Like
onZeit = (((array1[10]-0x30)*1000) + ((array1[11]-0x30)*100) + ((array1[12]-0x30)*10) + (array1[13]-0x30));
          Serial.print("onZeit1=");
          Serial.print(onZeit);
          Serial.println();

Ausgabe: onZeit1= 5469

Passt danke.

btw: die hex-Werte als char ergeben das:

32 33 30 2C 30 35 30 2C 35 34 36 39 --> 230,050,5469

siehe ASCII tabelle

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.