Dekódování znaků

Ahoj. Tak jsem se dnes zase částečně propracoval dále. Tu řadu 18F prozatím nemám, takže budu objednávat. Pro přiblížení, co vlastně “leze” ze čtečky, jsem psal sice již výše, ale je to tohle: 02, 10 byte data, 2 byte CRC, 03. A leze to v ASCII, takže to po odfiltrování rovnou posílám na LCD. Fyzická data jsou z terminálu Herkules z mých 3 karet:
V ASCII: STX{30}{46}{30}{31}{35}{43}{41}{44}{39}{46}{36}{30}#ETX nebo v HEXA: #STX0F015CAD9F60#ETX
V ASCII: STX{30}{31}{30}{31}{32}{30}{45}{34}{34}{37}{38}{33}#ETX nebo v HEXA: #STX010120E44783#ETX
V ASCII: STX{30}{31}{30}{31}{32}{32}{43}{42}{34}{45}{41}{37}#ETX nebo v HEXA: #STX010122CB4EA7#ETX
Legenda: 02 je v ASCII start of text-STX, 03 je end of text-ETX, # vkladá jako označení řídících znaků zřejmě terminál Herkules.
V Putty to leze v hexa bez řídících znaků: 0F015CAD9F60 Nezkoušel jsem, zda to jde nastavit jinak, ale nepotřebuji to. Vrhám se do tabulek zatím pro 16 řadu, kde jsem, a to se přiznám bez mučení, nepochopil to násobení 16. To ASCII mám v MCU přeložený i do hexa, ale nějak mi uniká myšlenka. Protože ve výsledku nebudu testovat tolik karet (cca do 50), napadla mě možnost, třídit to pomocí CRC. Tedy pokud se mi nesejdou stejné, jakože určitě ano. Možná k tomu přidat ještě 1 byte ??? Nemám však prozatím fyzicky ID a jmén vlastníků karet. Můžete mi prosím ještě jednou polopatisticky vysvětlit, jak na to. Možná příklad …
Děkuji všem.