加入BMP库,加入常见位操作

This commit is contained in:
XerolySkinner
2022-11-24 23:56:57 +08:00
parent f6b6ac1329
commit 01324e987e
709 changed files with 17019 additions and 2341 deletions

View File

@@ -1,14 +1,91 @@
.TH "D:/gitt/MicrochipFor32/bsp_Device/varint.h" 3 "2022年 十一月 22日 星期" "Version 2.0.0" "MF32BSP_XerolySkinner" \" -*- nroff -*-
.TH "D:/gitt/MicrochipFor32/bsp_Device/varint.h" 3 "2022年 十一月 24日 星期" "Version 2.0.0" "MF32BSP_XerolySkinner" \" -*- nroff -*-
.ad l
.nh
.SH NAME
D:/gitt/MicrochipFor32/bsp_Device/varint.h
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
@@ -77,6 +154,123 @@ D:/gitt/MicrochipFor32/bsp_Device/varint.h
.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"