NI Home > Community > NI Discussion Forums

Forum Italiano sui Prodotti NI

Visualizzazione dei risultati per 
Cerca invece 
Vuoi dire 
Rispondere
Member
albertopn
Post: 31
0 Kudos

crc

ciao,
partendo da 4 stringe di 8 bit ciascuna (4 byte) devo calcolarmi il valore per il CRC (da inviare tramite porta seriale) sia la parte intera sia il restro.
chi mi saprebbe dare un'aiuto?
Active Participant
Graziano
Post: 1.064
0 Kudos

Re: crc

Ciao,
    dire "devo calcolarmi il CRC" non vuol dire molto, esistono molti tipi di CRC, in particolare devi indicare il polinomio generatore, valore iniziale del registro, eventuale complemento del valore ottenuto.... in breve, è più facile che tu indichi a quale standard devi sottostare (es. : CRC-16-CCITT è uno standard molto usato), oppure indichi quale protocollo stai usando, (es.: HDLC, Modbus, o quewl che sia....).  Ogni protocollo, in genere, ha associato un ben definito CRC.

   Purtroppo sono fuori per lavoro, non sono in ufficio, e non sarò molto collegato.... le brevi informazioni che ti ho dato dovrebbero essere un inizio, poi puoi cercare sul forum.  Mi ricordo, una volta, di aver visto pubblicata una libreria di calcolo di vari CRC, ma ora non riesco a trovarla... ti consiglio di postare in inglese! Ma prima, cerca di definire bene che CRC ti serve: se usi un polinomio, o un valore iniziale sbagliato, non funzionerà nulla!

graziano
Proven Zealot
RobertoBozzolo
Post: 5.226
0 Kudos

Re: crc

Con la premessa che le premesse di Graziano sono basilari e che non ci hai detto che linguaggio adoperi per il tuo programma, a titolo di esempio puoi trovare qui le routine che io uso per il calcolo del CRC in un programma CVI per comunicazioni in protocollo Modbus.


Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Zone Community
________________________________________
If I have helped you, why not giving me a kudos?
Active Participant
Graziano
Post: 1.064
0 Kudos

Re: crc

Ciao a tutti!
   va anche definito quale linguaggio va usato, se LabView o il C.  io uso una soluzione "ibrida", nel senso che uso un formula node in labview, ma penso sia ottimale implementare tutto direttamente in LabView, se non altro per una questione di stile :smileyhappy:

graziano
Member
albertopn
Post: 31
0 Kudos

Re: crc

ciao, utilizzo labView, come protocollo utilizzo opentherm, la stringa che mando via è formata da 6 byte e i CRC (byte 5 e byte 6) lo devo calcolare sui primi 4 byte.

Ho il codice per calcolarlo in excel con visual basic, quindi stò cercando di tradurlo in labview, arrivando ad un risultato che si avvicina ma non è corretto.

Member
MatSambu
Post: 1
0 Kudos

Re: crc

ciao, hai poi risolto il problema? devo decidere se avvicinarmi al mondo labView e dovendo anch'io comunicare tramite protocollo openTherm sto cercando di capire se si può implementare. Mi puoi dare qualche suggerimento in merito? come lo hai implementato te?

 

Grazie

Matteo