Gast
#580746
Hallo Zusammen, ich habe eine Routine zum berechnen einer Checksumme für die RS232 Kommunikation mit einem Gerät. Die Checksumme bildet sich aus dem aufaddieren der einzelnen Bytes im Protokoll, dann Bit 9-... abschneiden und dem anschließendem "1" setzen des MSB. Jetzt muss ich das ganze über die RS232 in den Atmel schicken. Für die Programmierung nutzte ich VB.net 2005. Mein Problem dabei ist nun folgendes: Meine Checksumme ist als Integer deklariert und wird auch richtig berechnet. Allerdings kann ich ja eine "181" (errechnete Checksumme als Decimal) nicht einfach als String wandeln und über RS232 schicken, weil ja daraus ein "0x31 0x38 0x31" gemacht wird. Um dieses Problem zu lösen, wollte ich die Funktion chr() nutzen. Allerdings funktioniert das nur bis 127. Sobald es in den erweiterten Ascii reingeht (was ja 181 ist) kommt immer "0x3F" raus. Wie kann ich in VB.Net 2005 eine Dezimalzahl (128-255) in das dazugehörige Ascii-Zeichen umwandeln? Grüße Robert