Leggendo da seriale, il risultato è:
0) - Byte: 255 -> Integer: 255 [IGNORATO]
1) - Byte: 51 -> Integer: 3 [IGNORATO]
2) - Byte: 67 -> Integer: 12
3) - Byte: 48 -> Integer: 0
4) - Byte: 48 -> Integer: 0
5) - Byte: 67 -> Integer: 12
6) - Byte: 69 -> Integer: 14
7) - Byte: 55 -> Integer: 7

- Byte: 53 -> Integer: 5
9) - Byte: 52 -> Integer: 4
10) - Byte: 67 -> Integer: 12 [CHECKSUM]
11) - Byte: 67 -> Integer: 12 [CHECKSUM]
ÿ3C00CE754 <<<------------------------------------------------------------------------ ???
Card INVALID
cardNum: <<------- non avviene la stampa del vettore caratteri "cardNum"
x) HEX: C00CE754
y) DEC: 3222071124
C - 0 - 0 - C - E - 7 - 5 - 4 - <<---- Codice HEX relativo alla card
Il problema è quella ÿ (indicata dalla freccia) che si trova in testa al codice. Non si sà da dove venga fuori! è assurdo, o fatto milioni di prove!
Oltretutto, la sua presenza(della Y) crea un successivo errore nella stampa del codice HEX relativo alla card, infatti la 'C' che si trova in testa alla sequanza di caratteri, dovrebbe trovarsi in coda!
La ÿ viene fuori da quel byte : 255 presente nel codice soprastante, che ha origine ignota... non so davvero da dove possa provenire quel byte!
Cosa ancor più sconvolgente è che , se faccio leggere al lettore Rfid velocemente lo stesso TAG senza dargli tempo di stampare sulla seriale la prima serie, il risultato è il seguente:
0) - Byte: 255 -> Integer: 255 [IGNORATO]
1) - Byte: 51 -> Integer: 3 [IGNORATO]
2) - Byte: 67 -> Integer: 12
3) - Byte: 48 -> Integer: 0
4) - Byte: 48 -> Integer: 0
5) - Byte: 67 -> Integer: 12
6) - Byte: 69 -> Integer: 14
7) - Byte: 55 -> Integer: 7

- Byte: 53 -> Integer: 5
9) - Byte: 52 -> Integer: 4
10) - Byte: 67 -> Integer: 12 [CHECKSUM]
11) - Byte: 67 -> Integer: 12 [CHECKSUM]
ÿ3C00CE754
Card INVALID
cardNum: <<------- non avviene la stampa del vettore caratteri "cardNum" !?!?
x) HEX: C00CE754
y) DEC: 3222071124
C - 0 - 0 - C - E - 7 - 5 - 4 - <-- fine stampa prima sequenza
0) - Byte: 51 -> Integer: 3 [IGNORATO] <<----NB è scomparso il byte 255, causa della ÿ !!
1) - Byte: 67 -> Integer: 12 [IGNORATO] <<--- ORA RIPORTANO ANCHE I 2 BYTE DA IGNORARE X IL CALCOLO DEL SERIALE
2) - Byte: 48 -> Integer: 0
3) - Byte: 48 -> Integer: 0
4) - Byte: 67 -> Integer: 12
5) - Byte: 69 -> Integer: 14
6) - Byte: 55 -> Integer: 7
7) - Byte: 53 -> Integer: 5

- Byte: 52 -> Integer: 4
9) - Byte: 67 -> Integer: 12
10) - Byte: 67 -> Integer: 12 [CHECKSUM]
11) - Byte: 66 -> Integer: 11 [CHECKSUM]
3C00CE754C
Card INVALID
cardNum: <<------- non avviene la stampa del vettore caratteri "cardNum" !?!?
x) HEX: 00CE754C
y) DEC: 13530444 <<----------È TUTTO ESATTO, PERFINO IL VALORE SERIALE CHE TROVO SCRITTO AL DI FUORI DEL TAG !! (13530444)
0 - 0 - C - E - 7 - 5 - 4 - C - <<--- è proprio l equivalente HEX di 13530444
TUTTO porta come dovrebbe in questo secondo passaggio!
Non so più davvero a che Santo appellarmi.
Come mai al secondo passaggio tutto va come dovrebbe?!?! come mai è scomparsa la ÿ ??
La stringa cardNum continua a non essere stampata, ma in fin dei conti quello è il male minore...
ho anche provato a fare un flush della seriale, ma niente da fare stesso risultato.
Se do tempo alla seriale di stampare tutti i caratteri, l'algoritmo per ricavare il seriale non funziona, se invece avvicino 2 volte in pochissimo tempo il tag al lettore, senza dar tempo all'ardu di stampare il tutto a video, nella seconda sequenza tutto sembra andar bene e funzionare a dovere (ma nella prima no).