vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
CRC16 Modbus als HEX ausgeben 
Autor: Lobo2210
Datum: 15.01.08 18:02

Hallo,

ich habe ein Code, welcher mir einen CRC-16 Modbus in ASCII errechnet.
Da ich keine Ahnung habe wie ich das Programm ändern muß um als Ergebnis
HEX zu erhalten, würde ich einen Wissenden von Euch bitten mir mal auf die Sprünge zu helfen!

Ich gebe hier mal eine Zeichenfolge die Berrechnet werden soll:
"CA 00 00 00 00 05 7E 04 00 00 96 00"

im ASCII-Format kommt als Lösung "0xED37" raus, im HEX-Format sollte dieses
rauskommen "0x25BE"

Ich habe schon im ganzen Netz gesucht, bin aber nicht fündig geworden

Ich hänge hier mal den vorhandenen Code mit an die Nachricht.

Sub CRC16(Txt)
Dim x As Long
Dim mask, i, j, nC, Crc As Integer
Dim c As String

Txt = "CA 00 00 00 00 05 7E 04 00 00 96 00"

Crc = -1 ' crc mit $ffff initalisieren
For nC = 1 To Len(Txt)
c = Mid(Txt, nC, 1)
j = Asc(c)
Crc = Crc Xor j
For j = 1 To 8
mask = 0
If Crc / 2 <> Int(Crc / 2) Then mask = &HA001
Crc = Int(Crc / 2) And &H7FFF: Crc = Crc Xor mask
Next j
Next nC
Txt = Hex$(Crc) 'Ergebnis in TxT schreiben

End Sub


Wenn also jemand eine Ahnung hat was ich ändern muß um den richtigen Wert rauszubekommen dann helft mir BITTE!

Danke schon mal
Lobo2210
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
CRC16 Modbus als HEX ausgeben2.850Lobo221015.01.08 18:02

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel