LRC o meglio Xor su byte con valore di base di calcolo.....??????

giovedì 03 agosto 2006 - 17.05

ruirem Profilo | Newbie

ciao a tutti,
sto cercando di interfacciare un terminale POS con un portale per il pagamento dei servizi offerti dal portale stesso. Purtropp tale POS ha bisogno all'interno dei messaggi che vengono spediti nella comunicazione con il PC di un byte particolare che il manuale spiega così:

"...viene calcolato eseguendo l'operazione di XOR su tutti i byte del messaggio assumendo come valore base di calcolo 7F hex..."

qualcuno ha idea di cosa voglia dire?

grazie mille!
Rui-

pack67 Profilo | Newbie

Ciao
provo a risponderti io. LRC o Longitudinal Redundancy Character (detta altrimenti Parita' Verticale) non e' altro che un metodo utilizzato per verificare che i dati trasmessi, nel tuo caso tra un elaboratore ed un periferico, arrivino al destinatario in maniera corretta, presumo sempre nel tuo caso, attraverso una linea seriale RS323C. In pratica viene utilizzata una funzione che attraverso un calcolo posizionale sui caratteri (Byte) che compongono la trama genera univocamente un carattere (per l'appunto LRC). Il tuo compito sara' quindi, alla ricezione di ripetere la stessa formula sulla trama e verificare che generi lo stesso LRC, nel qual caso presumo o richiederne una nuova trasmissione (invio di un NACK), se LRC e' diverso, o il procedere con l'invio della trama successiva (invio al trasmittente di un ACK).
La formula che genera il carattere di LRC e' molto semplice e lavora utilizzando l'operatore XOR che opera su ogni byte.
In pratica viene messo in XOR il primo carattere con un seed il risultato di questa operazione viene messo in XOR con il secondo byte e cosi' a procedere fino alla fine della stringa. Il risultato di questa operazione e' il carattere di LRC che dovrai allegare alla trasmissione secondo il protocollo di collegamento
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5