awtk/docs/manual/crc_t.md

181 lines
4.3 KiB
Markdown
Raw Normal View History

2021-01-11 08:23:05 +08:00
## crc\_t
### 概述
crc相关函数。
----------------------------------
### 函数
<p id="crc_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#crc_t_tk_chksum">tk\_chksum</a> | 计算检验和。 |
| <a href="#crc_t_tk_chksum_byte">tk\_chksum\_byte</a> | 计算单子节的检验和。 |
| <a href="#crc_t_tk_crc16">tk\_crc16</a> | 计算crc16。 |
| <a href="#crc_t_tk_crc16_byte">tk\_crc16\_byte</a> | 计算单子节的crc16。 |
2023-10-18 15:36:15 +08:00
| <a href="#crc_t_tk_crc16_modbus">tk\_crc16\_modbus</a> | 计算crc16(MODBUS)。 |
2021-01-11 08:23:05 +08:00
| <a href="#crc_t_tk_crc32">tk\_crc32</a> | 计算crc32。 |
| <a href="#crc_t_tk_crc32_byte">tk\_crc32\_byte</a> | 计算单子节的crc32。 |
2023-06-29 10:44:29 +08:00
| <a href="#crc_t_tk_crc32_file">tk\_crc32\_file</a> | 计算文件的crc32哈希值。 |
2021-01-11 08:23:05 +08:00
#### tk\_chksum 函数
-----------------------
* 函数功能:
> <p id="crc_t_tk_chksum">计算检验和。
* 函数原型:
```
2023-12-26 19:09:36 +08:00
uint16_t tk_chksum (uint16_t sum, const void* data, int size);
2021-01-11 08:23:05 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | uint16\_t | 返回计算结果。 |
| sum | uint16\_t | 初始值(一般用INITCHECKSUM) |
2023-12-26 19:09:36 +08:00
| data | const void* | 数据。 |
2021-01-11 08:23:05 +08:00
| size | int | 数据长度。 |
#### tk\_chksum\_byte 函数
-----------------------
* 函数功能:
> <p id="crc_t_tk_chksum_byte">计算单子节的检验和。
* 函数原型:
```
uint16_t tk_chksum_byte (uint16_t sum, uint8_t data);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | uint16\_t | 返回计算结果。 |
| sum | uint16\_t | 初始值(一般用0或者之前的值) |
| data | uint8\_t | 数据。 |
#### tk\_crc16 函数
-----------------------
* 函数功能:
> <p id="crc_t_tk_crc16">计算crc16。
* 函数原型:
```
2023-12-26 19:09:36 +08:00
uint16_t tk_crc16 (uint16_t crc, const void* data, int size);
2021-01-11 08:23:05 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | uint16\_t | 返回计算结果。 |
| crc | uint16\_t | 初始值(一般用PPPINITFCS16) |
2023-12-26 19:09:36 +08:00
| data | const void* | 数据。 |
2021-01-11 08:23:05 +08:00
| size | int | 数据长度。 |
#### tk\_crc16\_byte 函数
-----------------------
* 函数功能:
> <p id="crc_t_tk_crc16_byte">计算单子节的crc16。
* 函数原型:
```
uint16_t tk_crc16_byte (uint16_t crc, uint8_t data);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | uint16\_t | 返回计算结果。 |
| crc | uint16\_t | 初始值(一般用PPPINITFCS16或者之前的值) |
| data | uint8\_t | 数据。 |
2023-10-18 15:36:15 +08:00
#### tk\_crc16\_modbus 函数
-----------------------
* 函数功能:
> <p id="crc_t_tk_crc16_modbus">计算crc16(MODBUS)。
* 函数原型:
```
2023-12-26 19:09:36 +08:00
uint16_t tk_crc16_modbus (const void* data, int size);
2023-10-18 15:36:15 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | uint16\_t | 返回计算结果。 |
2023-12-26 19:09:36 +08:00
| data | const void* | 数据。 |
2023-10-18 15:36:15 +08:00
| size | int | 数据长度。 |
2021-01-11 08:23:05 +08:00
#### tk\_crc32 函数
-----------------------
* 函数功能:
> <p id="crc_t_tk_crc32">计算crc32。
* 函数原型:
```
2023-12-26 19:09:36 +08:00
uint32_t tk_crc32 (uint32_t crc, const void* data, int size);
2021-01-11 08:23:05 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | uint32\_t | 返回计算结果。 |
| crc | uint32\_t | 初始值(一般用PPPINITFCS32) |
2023-12-26 19:09:36 +08:00
| data | const void* | 数据。 |
2021-01-11 08:23:05 +08:00
| size | int | 数据长度。 |
#### tk\_crc32\_byte 函数
-----------------------
* 函数功能:
> <p id="crc_t_tk_crc32_byte">计算单子节的crc32。
* 函数原型:
```
uint32_t tk_crc32_byte (uint32_t crc, uint8_t data);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | uint32\_t | 返回计算结果。 |
| crc | uint32\_t | 初始值(一般用PPPINITFCS32或者之前的值) |
| data | uint8\_t | 数据。 |
2023-06-29 10:44:29 +08:00
#### tk\_crc32\_file 函数
-----------------------
* 函数功能:
> <p id="crc_t_tk_crc32_file">计算文件的crc32哈希值。
* 函数原型:
```
uint32_t tk_crc32_file (const char* filename, uint32_t block_size);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | uint32\_t | 返回计算结果。 |
| filename | const char* | 文件名。 |
| block\_size | uint32\_t | 数据块长度。 |