/*
常见CRC参数模型如下:
CRC算法名称 多项式公式 宽度 多项式 初始值 结果异或值 输入反转 输出反转
CRC-4/ITU x4+x+1 4 03 00 00 true true
CRC-5/EPC x5+x3+1 5 09 09 00 false false
CRC-5/ITU x5+x4+x2+1 5 15 00 00 true true
CRC-5/USB x5+x2+1 5 05 1F 1F true true
CRC-6/ITU x6+x+1 6 03 00 00 true true
CRC-7/MMC x7+x3+1 7 09 00 00 false false
CRC-8 x8+x2+x+1 8 07 00 00 false false
CRC-8/ITU x8+x2+x+1 8 07 00 55 false false
CRC-8/ROHC x8+x2+x+1 8 07 FF 00 true true
CRC-8/MAXIM x8+x5+x4+1 8 31 00 00 true true
CRC-16/IBM x16+x15+x2+1 16 8005 0000 0000 true true
CRC-16/MAXIM x16+x15+x2+1 16 8005 0000 FFFF true true
CRC-16/USB x16+x15+x2+1 16 8005 FFFF FFFF true true
CRC-16/MODBUS x16+x15+x2+1 16 8005 FFFF 0000 true true
CRC-16/CCITT x16+x12+x5+1 16 1021 0000 0000 true true
CRC-16/CCITT-FALSE x16+x12+x5+1 16 1021 FFFF 0000 false false
CRC-16/X25 x16+x12+x5+1 16 1021 FFFF FFFF true true
CRC-16/XMODEM x16+x12+x5+1 16 1021 0000 0000 false false
CRC-16/DNP x16+x13+x12+x11+x10+x8+x6+x5+x2+1 16 3D65 0000 FFFF true true
CRC-32 x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 32 04C11DB7 FFFFFFFF FFFFFFFF true true
CRC-32/MPEG-2 x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 32 04C11DB7 FFFFFFFF 00000000 false false
一、CRC16/IBM 或 CRC16/ARC 或 CRC16/LHA:
公式:x16+x15+x2+1
宽度:16
Poly值:0x8005
初始值:0x0000
基准输入:true
基准输出:true
标志位:0x0000
二、CRC16/MAXIM:
公式:x16+x15+x2+1
宽度:16
Poly值:0x8005
初始值:0x0000
基准输入:true
基准输出:true
标志位:0xFFFF
三、CRC16/USB:
公式:x16+x15+x2+1
宽度:16
Poly值:0x8005
初始值:0xFFFF
基准输入:true
基准输出:true
标志位:0xFFFF
四、CRC16/MODBUS(最常见):
公式:x16+x15+x2+1
宽度:16
Poly值:0x8005
初始值:0x0000
基准输入:true
基准输出:true
标志位:0x0000
五、CRC16/CCITT 或 CRC-CCITT 或CRC16/CCITT-TRUE或 CRC16/KERMIT:
公式:x16+x15+x5+1
宽度:16
Poly值:0x1021
初始值:0x0000
基准输入:true
基准输出:true
标志位:0x0000
六、 CRC16/CCITT-FALSE:
公式:x16+x15+x5+1
宽度:16
Poly值:0x1021
初始值:0xFFFF
基准输入:false
基准输出:false
标志位:0x0000
七、CRC16/X25:
公式:x16+x15+x5+1
宽度:16
Poly值:0x1021
初始值:0x0000
基准输入:true
基准输出:true
标志位:0xFFFF
八、CRC16/XMODEM 或 CRC16/ZMODEM 或 CRC16/ACORN:
公式:x16+x15+x5+1
宽度:16
Poly值:0x1021
初始值:0x0000
基准输入:false
基准输出:false
标志位:0x0000
九、CRC16/DNP:
公式:x16+x13+x12+x11+x10+x8+x6+x5+x2+1
宽度:16
Poly值:0x3D65
初始值:0x0000
基准输入:true
基准输出:true
标志位:0xFFFF
使用:M-Bus, ect
附加其它:
一、CRC4/ITU:
公式:x4+x+1
宽度:4
Poly值:0x03
初始值:0x00
基准输入:true
基准输出:true
标志位:0x00
二、CRC5/EPC:
公式:x5+x3+1
宽度:5
Poly值:0x09
初始值:0x09
基准输入:false
基准输出:false
标志位:0x00
三、CRC5/ITU:
公式:x5+x4+x2+1
宽度:5
Poly值:0x15
初始值:0x00
基准输入:true
基准输出:true
标志位:0x00
四、CRC5/USB:
公式:x5+x2+1
宽度:5
Poly值:0x05
初始值:0x1F
基准输入:true
基准输出:true
标志位:0x1F
四、CRC6/ITU:
公式:x6+x+1
宽度:6
Poly值:0x03
初始值:0x00
基准输入:true
基准输出:true
标志位:0x00
五、CRC6/MMC:
公式:x7+x3+1
宽度:7
Poly值:0x09
初始值:0x00
基准输入:false
基准输出:false
标志位:0x00
使用:MutiMediaCard,SD卡, ect
六、CRC-8:
公式:x8+x2+x+1
宽度:8
Poly值:0x07
初始值:0x00
基准输入:false
基准输出:false
标志位:0x00
七、CRC8/ITU:
公式:x8+x2+x+1
宽度:8
Poly值:0x07
初始值:0x00
基准输入:false
基准输出:false
标志位:0x55
八、CRC-8:
公式:x8+x2+x+1
宽度:8
Poly值:0x07
初始值:0x00
基准输入:false
基准输出:false
标志位:0x00
九、CRC8/ROHC:
公式:x8+x2+x+1
宽度:8
Poly值:0x07
初始值:0xFF
基准输入:true
基准输出:true
标志位:0x00
九、CRC8/ROHC 或 DOW-CRC:
公式:x8+x5+x4+1
宽度:8
Poly值:0x31
初始值:0x00
基准输入:true
基准输出:true
标志位:0x00
*/
const CrcCalc = CrcCalc || {}
var UInt64 = (function () {
function UInt64(numOrUint64, lowVal) {
if (typeof numOrUint64 === 'number') {
this.highVal = numOrUint64 & 0xFFFFFFFF;
this.lowVal = lowVal & 0xFFFFFFFF;
}
else {
this.highVal = numOrUint64.highVal;
this.lowVal = numOrUint64.lowVal;
}
}
UInt64.prototype.clone = function () {
return new UInt64(this);
};
UInt64.FromString = function (strHigh, strLow) {
var numHigh = 0, numLow = 0;
if (strLow == undefined) {
/* the first parameter string contains the whole number */
/* remove preceeding '0x' prefix */
if (strHigh.substr(0, 2) === "0x") {
strHigh = strHigh.substr(2, strHigh.length - 2);
}
/* pad to full 16 digits */
while (strHigh.length < 16) {
strHigh = '0' + strHigh;
}
numHigh = parseInt(strHigh.substr(0, 8), 16);
numLow = parseInt(strHigh.substr(8, 15), 16);
}
else {
/* two 32bit numbers are provided */
/* handle high part */
/* remove preceeding '0x' prefix */
if (strHigh.substr(0, 2) === "0x") {
strHigh = strHigh.substr(2, strHigh.length - 2);
}
/* pad to full 8 digits */
while (strHigh.length < 8) {
strHigh = '0' + strHigh;
}
numHigh = parseInt(strHigh, 16);
/* handle low part */
/* remove preceeding '0x' prefix */
if (strLow.substr(0, 2) === "0x") {
strLow = strLow.substr(2, strLow.length - 2);
}
/* pad to full 8 digits */
while (strLow.length < 8) {
strLow = '0' + strLow;
}
numLow = parseInt(strLow, 16);
}
没有合适的资源?快使用搜索试试~ 我知道了~
微信小程序连接蓝牙设备
共21个文件
js:8个
json:6个
wxss:3个
需积分: 5 0 下载量 37 浏览量
2024-05-18
20:28:13
上传
评论
收藏 31KB RAR 举报
温馨提示
微信小程序连接蓝牙设备,写入数据
资源推荐
资源详情
资源评论
收起资源包目录
miniprogram-bluetooth.rar (21个子文件)
miniprogram-bluetooth
sitemap.json 201B
project.private.config.json 408B
pages
index
index.wxml 5KB
index.js 23KB
index.json 96B
index.wxss 2KB
.eslintrc.js 587B
app.json 480B
project.config.json 619B
app.js 4KB
utils
BlueS5.js 678B
CrcCalc.js 31KB
util.js 3KB
Bluetooth.js 15KB
app.wxss 420B
components
navigation-bar
navigation-bar.wxss 4KB
navigation-bar.js 2KB
navigation-bar.wxml 2KB
navigation-bar.json 84B
.gitignore 145B
images
bluetooth.png 5KB
共 21 条
- 1
资源评论
wsk198726
- 粉丝: 51
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功