Problème CRC16 [Résolu]

Signaler
Messages postés
13
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
21 octobre 2007
-
Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
-
Bonsoir à tous !

Je dois calculer un CRC16 avec le polynome x16+x15+x2+1 ( MODBUS ) et hélas mon programme ne marche pas. Pouvez me dire ou se trouve l'erreur et si mon polynome est correctement traduit.

Merci d'avance.

CODE:

Private Sub cmdCalculer_Click()

Dim crc16 As Long
Dim n As Long

Dim poly As Long
Dim i As Integer
Dim octet(0 To 1) As String
Dim ret As Byte

poly = 98309
i = 0
crc16 = 65535
n = 0
       
                 
crc16 = crc16 Xor Hex(Val(txtCRC(i).Text))
n = 0
               

                 
    While n < 7
                ret = crc16 Mod 2
                crc16 = crc16 / 2
                If ret <> 0 Then
                       crc16 = crc16 Xor poly
                End If
               
                n = n + 1
       
                octet(i) = Str(crc16)
    Wend

txtResultat.Text = Hex(octet(0)) & Hex(octet(1))

End Sub

5 réponses

Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
Salut Kevin16

J'ai déposé une source à ton intention qui calcule les CRC16
Inspires-en toi pour ton programme

A+

GRENIER Alain
Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
Salut Kevin16

Je ne sais pas ce qu'est un CRC16 mais il y a 2 choses qui me choquent dans le code

- A quoi correspond TxtCRC
- i dans octet(i) vaut toujours 0 . Or dans le résultat on trouve octet(0) et octet(1)

Si tu expliques le raisionnement du CRC16 je pourrais peut-être d'aider beaucoup plus

GRENIER Alain
Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
Si tu expliques le raisonnement : excuse pour la faute de frappe

GRENIER Alain
Messages postés
13
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
21 octobre 2007

Bonjours Alain,

je te remercie du fond du coeur de ton aide et de la source que tu as mise a mon intention. J'ai réussit a trouver mes erreurs grace a toi.

A++
Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
De rien
Moi aussi j'ai appris quelque chose : qu'est-ce qu'un CRC ?
Merci à toi

A+

GRENIER Alain