375 lines
7.9 KiB
Groff
375 lines
7.9 KiB
Groff
.TH "D:/gitt/MicrochipFor32/bsp_Device/varint.h" 3 "2022年 十一月 25日 星期五" "Version 2.0.0" "MF32BSP_XerolySkinner" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
D:/gitt/MicrochipFor32/bsp_Device/varint.h \- 全局共用的标准类型表
|
|
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
\fC#include 'stdint\&.h'\fP
|
|
.br
|
|
|
|
.SS "宏定义"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "#define \fBP8\fP(x) ((\fBu8\fP*)(&(x)))"
|
|
.br
|
|
.RI "强制转换变成u8的指针 "
|
|
.ti -1c
|
|
.RI "#define \fBPn8\fP(x, y) (((\fBu8\fP*)(&(x)))[y])"
|
|
.br
|
|
.RI "强制转换变成u8的数组 "
|
|
.ti -1c
|
|
.RI "#define \fBP16\fP(x) ((\fBu16\fP*)(&(x)))"
|
|
.br
|
|
.RI "强制转换变成u16的指针 "
|
|
.ti -1c
|
|
.RI "#define \fBPn16\fP(x, y) (((\fBu16\fP*)(&(x)))[y])"
|
|
.br
|
|
.RI "强制转换变成u16的数组 "
|
|
.ti -1c
|
|
.RI "#define \fBP32\fP(x) ((\fBu32\fP*)(&(x)))"
|
|
.br
|
|
.RI "强制转换变成u32的指针 "
|
|
.ti -1c
|
|
.RI "#define \fBPn32\fP(x, y) (((\fBu32\fP*)(&(x)))[y])"
|
|
.br
|
|
.RI "强制转换变成u32的数组 "
|
|
.ti -1c
|
|
.RI "#define \fBDelLb\fP(x) (x & (x \- 1))"
|
|
.br
|
|
.RI "移除最低位的1 "
|
|
.ti -1c
|
|
.RI "#define \fBqDelLb\fP(x) (x=(x & (x \- 1)))"
|
|
.br
|
|
.RI "移除并保存最低位的1 "
|
|
.ti -1c
|
|
.RI "#define \fBtoBool\fP(x) (x!=0)"
|
|
.br
|
|
.RI "数布尔化 "
|
|
.ti -1c
|
|
.RI "#define \fBuBit\fP(x, y) (x&(1<<y))"
|
|
.br
|
|
.RI "挑选某一位 "
|
|
.ti -1c
|
|
.RI "#define \fBtBit\fP(x, y) (\fBtoBool\fP(\fBuBit\fP(x,y)))"
|
|
.br
|
|
.RI "挑选某一位并且布尔化 "
|
|
.ti -1c
|
|
.RI "#define \fBsBit\fP(x, y) (x|(1<<y))"
|
|
.br
|
|
.RI "置高某一位 "
|
|
.ti -1c
|
|
.RI "#define \fBrBit\fP(x, y) (x&(~(1<<y)))"
|
|
.br
|
|
.RI "拉低某一位 "
|
|
.ti -1c
|
|
.RI "#define \fBmBit\fP(x, y, z) ((z)?\fBsBit\fP(x,y):\fBrBit\fP(x,y))"
|
|
.br
|
|
.RI "选择性拉高拉低某一位 "
|
|
.ti -1c
|
|
.RI "#define \fBLpAdd\fP(x, y) ((x+1)<y?x+1:0)"
|
|
.br
|
|
.RI "带最高限制的加法 "
|
|
.ti -1c
|
|
.RI "#define \fBLpDec\fP(x, y) (x>0?x\-1:y\-1)"
|
|
.br
|
|
.RI "带最低限制的减法 "
|
|
.ti -1c
|
|
.RI "#define \fBqLpAdd\fP(x, y) (x=(x+1)<y?x+1:0)"
|
|
.br
|
|
.RI "带最高限制的自增 "
|
|
.ti -1c
|
|
.RI "#define \fBqLpDec\fP(x, y) (x=x>0?x\-1:y\-1)"
|
|
.br
|
|
.RI "带最低限制的自减 "
|
|
.in -1c
|
|
.SS "类型定义"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "typedef uint8_t \fBu8\fP"
|
|
.br
|
|
.RI "8位无符号数类型 "
|
|
.ti -1c
|
|
.RI "typedef uint16_t \fBu16\fP"
|
|
.br
|
|
.RI "16位无符号数类型 "
|
|
.ti -1c
|
|
.RI "typedef uint32_t \fBu32\fP"
|
|
.br
|
|
.RI "32位无符号数类型 "
|
|
.ti -1c
|
|
.RI "typedef uint64_t \fBu64\fP"
|
|
.br
|
|
.RI "64位无符号数类型 "
|
|
.ti -1c
|
|
.RI "typedef int8_t \fBi8\fP"
|
|
.br
|
|
.RI "8位有符号数类型 "
|
|
.ti -1c
|
|
.RI "typedef int16_t \fBi16\fP"
|
|
.br
|
|
.RI "16位有符号数类型 "
|
|
.ti -1c
|
|
.RI "typedef int32_t \fBi32\fP"
|
|
.br
|
|
.RI "32位有符号数类型 "
|
|
.ti -1c
|
|
.RI "typedef int64_t \fBi64\fP"
|
|
.br
|
|
.RI "64位有符号数类型 "
|
|
.ti -1c
|
|
.RI "typedef volatile \fBu8\fP \fBvu8\fP"
|
|
.br
|
|
.RI "8位无符号易变类型 "
|
|
.ti -1c
|
|
.RI "typedef volatile \fBu16\fP \fBvu16\fP"
|
|
.br
|
|
.RI "16位无符号易变类型 "
|
|
.ti -1c
|
|
.RI "typedef volatile \fBu32\fP \fBvu32\fP"
|
|
.br
|
|
.RI "32位无符号易变类型 "
|
|
.ti -1c
|
|
.RI "typedef volatile \fBu64\fP \fBvu64\fP"
|
|
.br
|
|
.RI "64位无符号易变类型 "
|
|
.ti -1c
|
|
.RI "typedef volatile \fBi8\fP \fBvi8\fP"
|
|
.br
|
|
.RI "8位有符号易变类型 "
|
|
.ti -1c
|
|
.RI "typedef volatile \fBi16\fP \fBvi16\fP"
|
|
.br
|
|
.RI "16位有符号易变类型 "
|
|
.ti -1c
|
|
.RI "typedef volatile \fBi32\fP \fBvi32\fP"
|
|
.br
|
|
.RI "32位有符号易变类型 "
|
|
.ti -1c
|
|
.RI "typedef volatile \fBi64\fP \fBvi64\fP"
|
|
.br
|
|
.RI "64位有符号易变类型 "
|
|
.in -1c
|
|
.SH "详细描述"
|
|
.PP
|
|
全局共用的标准类型表
|
|
|
|
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 中定义\&.
|
|
.SH "宏定义说明"
|
|
.PP
|
|
.SS "#define DelLb(x) (x & (x \- 1))"
|
|
|
|
.PP
|
|
移除最低位的1
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB69\fP 行定义\&.
|
|
.SS "#define LpAdd(x, y) ((x+1)<y?x+1:0)"
|
|
|
|
.PP
|
|
带最高限制的加法
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB80\fP 行定义\&.
|
|
.SS "#define LpDec(x, y) (x>0?x\-1:y\-1)"
|
|
|
|
.PP
|
|
带最低限制的减法
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB81\fP 行定义\&.
|
|
.SS "#define mBit(x, y, z) ((z)?\fBsBit\fP(x,y):\fBrBit\fP(x,y))"
|
|
|
|
.PP
|
|
选择性拉高拉低某一位
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB78\fP 行定义\&.
|
|
.SS "#define P16(x) ((\fBu16\fP*)(&(x)))"
|
|
|
|
.PP
|
|
强制转换变成u16的指针
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB64\fP 行定义\&.
|
|
.SS "#define P32(x) ((\fBu32\fP*)(&(x)))"
|
|
|
|
.PP
|
|
强制转换变成u32的指针
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB66\fP 行定义\&.
|
|
.SS "#define P8(x) ((\fBu8\fP*)(&(x)))"
|
|
|
|
.PP
|
|
强制转换变成u8的指针
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB62\fP 行定义\&.
|
|
.SS "#define Pn16(x, y) (((\fBu16\fP*)(&(x)))[y])"
|
|
|
|
.PP
|
|
强制转换变成u16的数组
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB65\fP 行定义\&.
|
|
.SS "#define Pn32(x, y) (((\fBu32\fP*)(&(x)))[y])"
|
|
|
|
.PP
|
|
强制转换变成u32的数组
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB67\fP 行定义\&.
|
|
.SS "#define Pn8(x, y) (((\fBu8\fP*)(&(x)))[y])"
|
|
|
|
.PP
|
|
强制转换变成u8的数组
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB63\fP 行定义\&.
|
|
.SS "#define qDelLb(x) (x=(x & (x \- 1)))"
|
|
|
|
.PP
|
|
移除并保存最低位的1
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB70\fP 行定义\&.
|
|
.SS "#define qLpAdd(x, y) (x=(x+1)<y?x+1:0)"
|
|
|
|
.PP
|
|
带最高限制的自增
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB82\fP 行定义\&.
|
|
.SS "#define qLpDec(x, y) (x=x>0?x\-1:y\-1)"
|
|
|
|
.PP
|
|
带最低限制的自减
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB84\fP 行定义\&.
|
|
.SS "#define rBit(x, y) (x&(~(1<<y)))"
|
|
|
|
.PP
|
|
拉低某一位
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB77\fP 行定义\&.
|
|
.SS "#define sBit(x, y) (x|(1<<y))"
|
|
|
|
.PP
|
|
置高某一位
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB76\fP 行定义\&.
|
|
.SS "#define tBit(x, y) (\fBtoBool\fP(\fBuBit\fP(x,y)))"
|
|
|
|
.PP
|
|
挑选某一位并且布尔化
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB74\fP 行定义\&.
|
|
.SS "#define toBool(x) (x!=0)"
|
|
|
|
.PP
|
|
数布尔化
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB72\fP 行定义\&.
|
|
.SS "#define uBit(x, y) (x&(1<<y))"
|
|
|
|
.PP
|
|
挑选某一位
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB73\fP 行定义\&.
|
|
.SH "类型定义说明"
|
|
.PP
|
|
.SS "typedef int16_t \fBi16\fP"
|
|
|
|
.PP
|
|
16位有符号数类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB46\fP 行定义\&.
|
|
.SS "typedef int32_t \fBi32\fP"
|
|
|
|
.PP
|
|
32位有符号数类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB47\fP 行定义\&.
|
|
.SS "typedef int64_t \fBi64\fP"
|
|
|
|
.PP
|
|
64位有符号数类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB48\fP 行定义\&.
|
|
.SS "typedef int8_t \fBi8\fP"
|
|
|
|
.PP
|
|
8位有符号数类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB45\fP 行定义\&.
|
|
.SS "typedef uint16_t \fBu16\fP"
|
|
|
|
.PP
|
|
16位无符号数类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB41\fP 行定义\&.
|
|
.SS "typedef uint32_t \fBu32\fP"
|
|
|
|
.PP
|
|
32位无符号数类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB42\fP 行定义\&.
|
|
.SS "typedef uint64_t \fBu64\fP"
|
|
|
|
.PP
|
|
64位无符号数类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB43\fP 行定义\&.
|
|
.SS "typedef uint8_t \fBu8\fP"
|
|
|
|
.PP
|
|
8位无符号数类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB40\fP 行定义\&.
|
|
.SS "typedef volatile \fBi16\fP \fBvi16\fP"
|
|
|
|
.PP
|
|
16位有符号易变类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB56\fP 行定义\&.
|
|
.SS "typedef volatile \fBi32\fP \fBvi32\fP"
|
|
|
|
.PP
|
|
32位有符号易变类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB57\fP 行定义\&.
|
|
.SS "typedef volatile \fBi64\fP \fBvi64\fP"
|
|
|
|
.PP
|
|
64位有符号易变类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB58\fP 行定义\&.
|
|
.SS "typedef volatile \fBi8\fP \fBvi8\fP"
|
|
|
|
.PP
|
|
8位有符号易变类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB55\fP 行定义\&.
|
|
.SS "typedef volatile \fBu16\fP \fBvu16\fP"
|
|
|
|
.PP
|
|
16位无符号易变类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB51\fP 行定义\&.
|
|
.SS "typedef volatile \fBu32\fP \fBvu32\fP"
|
|
|
|
.PP
|
|
32位无符号易变类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB52\fP 行定义\&.
|
|
.SS "typedef volatile \fBu64\fP \fBvu64\fP"
|
|
|
|
.PP
|
|
64位无符号易变类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB53\fP 行定义\&.
|
|
.SS "typedef volatile \fBu8\fP \fBvu8\fP"
|
|
|
|
.PP
|
|
8位无符号易变类型
|
|
.PP
|
|
在文件 \fBvarint\&.h\fP 第 \fB50\fP 行定义\&.
|
|
.SH "作者"
|
|
.PP
|
|
由 Doyxgen 通过分析 MF32BSP_XerolySkinner 的 源代码自动生成\&.
|