CR14 STMicroelectronics, CR14 Datasheet - Page 44

no-image

CR14

Manufacturer Part Number
CR14
Description
Low Cost Iso14443 Type-b Contactless Coupler Chip With Anti-collision And Crc Management
Manufacturer
STMicroelectronics
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
CR14-MQ/1GE
Manufacturer:
ST
0
Part Number:
CR14-MQP-1GE
Manufacturer:
ST
0
Part Number:
CR14-MQP/1GE
Manufacturer:
RENESAS
Quantity:
30 000
Part Number:
CR14-MQP/1GE
Manufacturer:
ST
0
Part Number:
CR14-MQP/1GE MBA
Manufacturer:
ST
0
Part Number:
CR14505BL-AX 3.0V
Manufacturer:
EEMB
Quantity:
1 000
Part Number:
CR14JTET2R4
Manufacturer:
NA
Quantity:
20 000
Part Number:
CR14P-16E
Manufacturer:
ST
0
11 Part numbering
Appendix A ISO14443 type B CRC calculation
44/46
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define BYTEunsigned char
#define USHORTunsigned short
unsigned short UpdateCrc(BYTE ch, USHORT *lpwCrc)
{
8)^((USHORT)ch<<3)^((USHORT)ch>>4);
}
void ComputeCrc(char *Data, int Length, BYTE *TransmitFirst, BYTE
*TransmitSecond)
{
BYTE chBlock; USHORTt wCrc;
}
int main(void)
{
BYTE BuffCRC_B[10] = {0x0A, 0x12, 0x34, 0x56}, First, Second, i;
}
ch = (ch^(BYTE)((*lpwCrc) & 0x00FF));
ch = (ch^(ch<<4));
*lpwCrc = (*lpwCrc >> 8)^((USHORT)ch <<
return(*lpwCrc);
wCrc = 0xFFFF; // ISO 3309
do
wCrc = ~wCrc; // ISO 3309
*TransmitFirst = (BYTE) (wCrc & 0xFF);
*TransmitSecond = (BYTE) ((wCrc >> 8) & 0xFF);
return;
printf("Crc-16 G(x) = x^16 + x^12 + x^5 + 1");
printf("CRC_B of [ ");
for(i=0; i<4; i++)
ComputeCrc(BuffCRC_B, 4, &First, &Second);
printf("] Transmitted: %02X then %02X.", First, Second);
return(0);
{
chBlock = *Data++;
UpdateCrc(chBlock, &wCrc);
} while (--Length);
printf("%02X ",BuffCRC_B[i]);
CR14

Related parts for CR14