6.6 KiB
6.6 KiB
Inventory: inventory
-
request
字段名称 比特数 SOF Flags 8 bits Inventory 8 bits Optional AFI 8 bits Mask length 8 bits Mask value 0 – 64 bits CRC16 16 bits EOF -
responses
字段名称 比特数 SOF Flags 8 bits DSFID 8 bits UID 64 bits CRC16 16 bits EOF -
函数
int inventory( uint8 u8Flag, uint8 u8AFI, uint8 u8MaskLen, // bitlen uint8 au8MaskValue[8], // . uint8 *pu8RxFlags, uint8 *pu8RxDSFID, uint8 au8RxUID[8] );
返回:
1
表示清晰收到一个 VICC 的应答;0
表示没有 VICC 应答;<0
表示有多个 VICC 应答;
如果返回
< 0
,或者:VCD 发送 EOF,继续点名,或者:修改 masklen & maskvalue,重新发送 inventory()
Stay quiet:
-
request
字段名称 比特数 SOF Flags 8 bits Stay quiet 8 bits UID 64 bits CRC16 16 bits EOF -
response
无
-
函数
int stayQuiet( uint8 u8Flags, uint8 au8UID[8] );
Read Single Block
-
request
字段名称 比特数 SOF Flags 8 bits Read single block 8 bits UID 64 bits Block number 8 bits CRC16 16 bits EOF request 中,是否存在 UID,由 flags 决定(address mode or select mode)。
-
response
字段名称 比特数 SOF Flags 8 bits Error code 8 bits CRC16 16 bits EOF 字段名称 比特数 SOF Flags 8 bits Block security status 8 bits Data Block length CRC16 16 bits EOF -
函数
int readSingleBlk( uint8 u8Flags, uint8 au8UID[8], uint8 u8BlkNo, uint8 *pu8RxFlags, uint8 *pu8ErrCode uint8 *pu8BlkSecurityStatus, uint8 au8Dat[] );
返回值:flags. 是否返回:pu8BlkSecurityStatus,要看 u8Flags 中 optional_flag。
或
// 返回:0,正确,否则 Flags. Uint8 readSingleBlk( uint8 u8VisitMode, // 1 for address mode, 0 for select mode uint8 u8Optionalflag; // 1 return security status; uint8 au8UID[8], uint8 u8BlkNo, uint8 *pu8BlkSecurityStatus, // optionalflag = 1 时,有效; uint8 au8Dat[] );
Write Single Block
-
request
字段名称 比特数 SOF Flags 8 bits Write single block 8 bits UID 64 bits Block number 8 bits Data Block length CRC16 16 bits EOF -
response
-
有 Error_flag
字段名称 比特数 SOF Flags 8 bits Error code 8 bits CRC16 16 bits EOF -
无 Error_flag
字段名称 比特数 SOF Flags 8 bits Error code 8 bits CRC16 16 bits EOF
-
-
函数
int writeSingleBlk( uint8 u8Flags, uint8 au8UID[8], uint8 u8BlkNo, uint8 au8Dat[], uint8 *pu8RxFlags, uint8 *pu8ErrCode );
Read multiple Blocks
-
request
字段名称 比特数 SOF Flags 8 bits Read multiple block 8 bits UID 64 bits First block number 8 bits Number of blocks 8 bits CRC16 16 bits EOF -
response
-
有 Error_flag
字段名称 比特数 SOF Flags 8 bits Error code 8 bits CRC16 16 bits EOF -
无 Error_flag
字段名称 比特数 SOF Flags 8 bits Block security status 8 bits Data Block length CRC16 16 bits EOF 注: Data 和 Block length 的内容根据需要重复。
-
-
函数
int readMultipleBlks( uint8 u8Flags, uint8 au8UID[8], uint8 u8BlkFirstNo, uint8 u8BlkNums, uint8 *pu8RxFlags, uint8 *pu8ErrCode uint8 au8BlkSecurityStatus[], uint8 au8Dat[] );
Write multiple Blocks
-
request
字段名称 比特数 SOF Flags 8 bits Write multiple block 8 bits UID 64 bits First block number 8 bits Number of blocks 8 bits Data Block length CRC16 16 bits EOF 注: Data 和 Block length 的内容根据需要重复。
-
response
-
有 Error_flag
字段名称 比特数 SOF Flags 8 bits Error code 8 bits CRC16 16 bits EOF -
无 Error_flag
字段名称 比特数 SOF Flags 8 bits CRC16 16 bits EOF
-
-
函数
int writeMultipleBlks ( uint8 u8Flags, uint8 au8UID[8], uint8 u8BlkFirstNo, uint8 u8BlkNums, uint8 au8Dat[], uint8 *pu8RxFlags, uint8 *pu8ErrCode );