Hallo,
ich bin aktuell dabei eine Schnittstelle für eine C# Anwendung zu schreiben und habe hierbei noch ein Problem.
Folgende Erklärung habe ich zu meinem vorhaben bereits einmal erhalten gehabt.
String zusammen mit dem Byte 0x0d müssen Sie dann Byte für Byte durchgehen mit einem Loop.
Dazu brauchen Sie noch eine uint8_t Variable für die Checksumme, die SIe mit dem Wert 0x7F initialisieren.
Dann, in dem Loop, nehmen Sie nacheinander jedes Byte aus dem String und wenden den XOR-Operator darauf an, also checksum ^= string[i] zum Beispiel. Vermutlich müssen SIe den String vorher in Bytes umwandeln.
Am Ende hat die checksum-Variable dann irgendeinen Wert nach den ganzen XOR-Operationen, den hängen Sie ganz ans Ende noch mit dran und schicken das ganze raus.
Kann einer genau verstehen was in allen Punkten gemeint ist ?
Mein aktueller Code:
private static readonly char[] StringUmlaute = new char[7]
{
'Ä',
'Ö',
'Ü',
'ä',
'ö',
'ü',
'ß'
};
private static readonly char[] IbisUmlaute = new char[7]
{
'[',
'\\',
']',
'{',
'|',
'}',
'~'
};
public void SetAnzeige()
{
string newAnzeige = "zA1Tegel";
for (int i = 0; i < newAnzeige.Length; i++)
{
for(int i2 = 0; i2 < 7; i2++)
{
if (newAnzeige[i].ToString() == "" + StringUmlaute[i2].ToString())
{
newAnzeige = newAnzeige.Replace("" + StringUmlaute[i2].ToString(), "" + IbisUmlaute[i2].ToString());
}
}
}
MessageBox.Show(newAnzeige);
}
Alles anzeigen