完成实验1
This commit is contained in:
313
Assignments/Assignment4/E-doc Part/第4次作业-柯劲帆-21281280.md
Normal file
313
Assignments/Assignment4/E-doc Part/第4次作业-柯劲帆-21281280.md
Normal file
@@ -0,0 +1,313 @@
|
||||
# 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 | |
|
||||
|
||||
- 函数
|
||||
|
||||
```c
|
||||
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
|
||||
|
||||
无
|
||||
|
||||
- 函数
|
||||
|
||||
```c
|
||||
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 | |
|
||||
|
||||
- 函数
|
||||
|
||||
```c
|
||||
int readSingleBlk(
|
||||
uint8 u8Flags,
|
||||
uint8 au8UID[8],
|
||||
uint8 u8BlkNo,
|
||||
uint8 *pu8RxFlags,
|
||||
uint8 *pu8ErrCode
|
||||
uint8 *pu8BlkSecurityStatus,
|
||||
uint8 au8Dat[]
|
||||
);
|
||||
```
|
||||
|
||||
返回值:flags.
|
||||
是否返回:pu8BlkSecurityStatus,要看 u8Flags 中 optional_flag。
|
||||
|
||||
或
|
||||
|
||||
```c
|
||||
// 返回: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 | |
|
||||
|
||||
- 函数
|
||||
|
||||
```c
|
||||
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 的内容根据需要重复。
|
||||
|
||||
- 函数
|
||||
|
||||
```c
|
||||
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 | |
|
||||
|
||||
- 函数
|
||||
|
||||
```c
|
||||
int writeMultipleBlks (
|
||||
uint8 u8Flags,
|
||||
uint8 au8UID[8],
|
||||
uint8 u8BlkFirstNo,
|
||||
uint8 u8BlkNums,
|
||||
uint8 au8Dat[],
|
||||
uint8 *pu8RxFlags,
|
||||
uint8 *pu8ErrCode
|
||||
);
|
||||
```
|
||||
|
||||
|
||||
|
||||
BIN
Assignments/Assignment4/E-doc Part/第4次作业-柯劲帆-21281280.pdf
Normal file
BIN
Assignments/Assignment4/E-doc Part/第4次作业-柯劲帆-21281280.pdf
Normal file
Binary file not shown.
BIN
Assignments/Assignment4/第4次作业-柯劲帆-21281280.pdf
Normal file
BIN
Assignments/Assignment4/第4次作业-柯劲帆-21281280.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user