一:通信协议
1.1:物理层
物理层采用串口通讯,波特率
57600
,
8
位数据位,
1
位停止位,无奇偶校验位。
1.2:数据包格式
模块采用
UART
与上位机通讯,对命令、数据、结果的接收和发送,都采用数据包的形式。对于多 字节的,高字节在前低字节在后(如 2 bytes
的
00 06
表示
0006
,不是
0600
)。数据包格式及其定义 (见表 4.1
和表
4.2
所示)。
![](https://i-blog.csdnimg.cn/blog_migrate/1505a7a522be9dbf514e6cc9f9e9fc4a.png)
1.3:指令集汇总表
1.4:数据包的接收与应答
指令只能由上位机下发给模块,模块向上位机应答。
模块收到指令后,会通过应答包,将有关命令执行情况与结果上报给上位机。应答包含有参数,并可 跟后续数据包。
指令后如果需要跟数据包,则上位机在发送指令包,并收到应答包后才能确认是否可以继续发数据包。
上位机只有在收到模块的应答包后才能确认模块的收包情况与指令执行情况。
应答包的内容包括一个字节的确认码(必须有)和可能有的返回参数。确认码见表
4.3
。
表
4.3
确认码定义表
![](https://i-blog.csdnimg.cn/blog_migrate/e99310ce1de865483ec08a65b5eb0e89.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9cf7b17c692174d391645d63660b1fba.png)
二:指令系统
2.1:采集指纹图像 GetImage(0x01)
功能说明:探测手指,探测到后录入指纹图像存于
ImageBuffer
,并返回录入成功确认码;若探测不 到手指,直接返回无手指确认码(
模块对于每一条指令都快速反应,因此如连续探测,需进行循环处理,可 限定循环的次数或总时间)
。
输入参数:无
返回参数:确认码
指令代码:
0x01
![](https://i-blog.csdnimg.cn/blog_migrate/21ac767f59947e167e98e154ca2b971a.png)
确认码
=0x00
,表示录入成功;
确认码
=0x01
,表示收包有错;
确认码
=0x02
,表示传感器上无手指;
确认码
=0x03
,表示录入不成功。
2.2:图像生成特征 GenChar(0x02)
功能说明:将
ImageBuffer
中的原始图像生成指纹特征。
输入参数:
CharBufferID(
特征缓冲区号
)
返回参数:确认码
指令代码:
0x02
![](https://i-blog.csdnimg.cn/blog_migrate/6949e45eb8cd32c0cace76f2c7566ad7.png)
注:
1
:缓冲区
CharBufferID
为
1 ~ 6
2
:建议指纹模块合成模板所需的指纹特征最少为
4
个,最多可为
6
个
![](https://i-blog.csdnimg.cn/blog_migrate/c266d7fdf7aee06985ac103a998445d9.png)
确认码
=0x00
,表示生成特征成功;
确认码
=0x01
,表示收包有错;
确认码
=0x06
,表示指纹图像太乱而生不成特征;
确认码
=0x07
,表示指纹图像正常,但特征点太少而生不成特征;
确认码
=0x15
,表示图像缓冲区内没有有效原始图而生不成图像。
2.3:指纹比对 Match(0x03)
功能说明:将提取到的特征进行比对,并给出比对结果。
输入参数:无
返回参数:确认码
+ MatchScore(
比对得分
)
指令代码:
0x03
![](https://i-blog.csdnimg.cn/blog_migrate/287f24a056518d3c2b1a2df933f9e9dc.png)
确认码
=0x00
,表示指纹匹配;
确认码
=0x01
,表示收包有错;
确认码
=0x08
,表示指纹不匹配。
2.4:指纹搜索 Search(0x04)
功能说明:
将提取到的特征,与指纹库中模板进行比对,并给出比对结果。
输入参数:
CharBufferID(
特征缓冲区号
) + StartID(
起始序号
) + Num
(个数)
返回参数:确认码
+
ModelID(
模板序号
)+
MatchScore(
比对得分
)
指令代码:
0x04
![](https://i-blog.csdnimg.cn/blog_migrate/43ebc3ce14132349668a95892f6d3ede.png)
注:缓冲区CharBufferID填0x01
![](https://i-blog.csdnimg.cn/blog_migrate/ac1226bbb8f8f1bab46490caf738b8e3.png)
确认码
=0x00
,表示搜索到;
确认码
=0x01
,表示收包有错;
确认码
=0x09
,表示没搜索到
2.5:特征合成模板 RegModel(0x05)
功能说明:将多次(
4-6
次,用户自定义)采集的指纹特征生成模板。
输入参数:无
返回参数:确认码
指令代码:
0x05
![](https://i-blog.csdnimg.cn/blog_migrate/c29aaa26afa950dd1533167b8d0360e6.png)
确认码
=0x00
,表示合并成功;
确认码
=0x01
,表示收包有错;
确认码
=0x0a
,表示合并失败(两枚指纹不属于同一手指)。
2.6:存储模板 StoreChar(0x06)
功能说明:将缓冲区中的模板数据存储到
Flash
指纹库中指定位置。
输入参数:
CharBufferID(
特征缓冲区号
)
,
ModelID
(指纹库位置号)
返回参数:确认码
指令代码:
0x06
![](https://i-blog.csdnimg.cn/blog_migrate/603379cb5bd161812fcb050c0a9f0473.png)
确认码
=0x00
,表示储存成功;
确认码
=0x01
,表示收包有错;
确认码
=0x0b
,表示
ModelID
超出指纹库范围;
确认码
=0x18
,表示写
FLASH
出错。
2.7:读出模板 LoadChar(0x07)
功能说明:将
flash
数据库中指定
ID
号的指纹模板读入到缓冲区。
输入参数:
CharBufferID(
特征缓冲区号
)
,
ModelID
(指纹库位置号)
返回参数:确认码
指令代码:
0x07
![](https://i-blog.csdnimg.cn/blog_migrate/9ab4c2fce77190e44b367d67c3dd83b2.png)
确认码
=0x00
,表示读出成功;
确认码
=0x01
,表示收包有错;
确认码
=0x0b
,表示
ModelID
超出指纹库范围;
确认码
=0x0C
,表示读出有错或模板无效。
2.8:上传模板 UpChar(0x08)
功能说明:将缓冲区中的数据上传给上位机。
输入参数:
CharBufferID
(特征缓冲区号)
返回参数:确认码
指令代码:
0x08
![](https://i-blog.csdnimg.cn/blog_migrate/b1e631f2a2e22fc6e1b2cf120126cb10.png)
确认码
=0x00
,表示接着发送后续数据包;
确认码
=0x01
,表示收包有错;
确认码
=0x0f
,表示不能发送后续数据包;
确认码
=0x0d
,表示指令执行失败。
![](https://i-blog.csdnimg.cn/blog_migrate/65c2abb4078647886f4bde0f212e1373.png)
上位机发送指令包,模块先发送应答包,再发送若干个数据包。
包内容字节数
N
由“包内容长度”参数决定,出厂时“包内容长度”设置为
128 Bytes
2.9:下载模板 DownChar(0x09)
功能说明:上位机下载模板到模块缓冲区。
输入参数:
CharBufferID
(特征缓冲区号)
返回参数:确认码
指令代码:
0x09
![](https://i-blog.csdnimg.cn/blog_migrate/d1b25467acd3bd34c58c3ef0237c5abf.png)
确认码
=0x00
,表示可以接收后续数据包;
确认码
=0x01
,表示收包有错;
确认码
=0x0e
,表示不能接收后续数据包。
![](https://i-blog.csdnimg.cn/blog_migrate/346ea219670cbea4966f7941255150a9.png)
上位机先发送指令包,模块应答后,上位机再发送若干个数据包。
包内容字节数
N
由“包内容长度”参数决定,出厂时“包内容长度”设置为
128 Bytes
。
2.10:上传图像 UpImage(0x0A)
功能说明:将模块图像缓冲区
ImageBuffer
中的数据上传给上位机。每一个像素
4bit
。
输入参数:无
返回参数:确认码
指令代码:
0x0A
![](https://i-blog.csdnimg.cn/blog_migrate/58de25934ba168ccaad1c188ac0660ea.png)
确认码
=0x00
,表示接着发送后续数据包;
确认码
=0x01
,表示收包有错;
确认码
=0x0f
,表示不能发送后续数据包
![](https://i-blog.csdnimg.cn/blog_migrate/56b14a319668df227b9d56aedd17daac.png)
上位机发送指令包,模块先发送应答包,再发送若干个数据包。
包内容字节数
N
由“包内容长度”参数决定,出厂时“包内容长度”设置为
128 Bytes
。
2.11:下载图像 DownImage(0x0B)
功能说明:上位机下载图像数据到模块图像缓冲区
ImageBuffer
。每个像素
4bit
。
输入参数:无
返回参数:确认码
指令代码:
0x0B
![](https://i-blog.csdnimg.cn/blog_migrate/18ac4e5214b7652bdfd314c17876cd9b.png)
应答包格式:
![](https://i-blog.csdnimg.cn/blog_migrate/b1a4776d60f8824a06428fcd7b3eed5f.png)
确认码
=0x00
,表示可以接收后续数据包;
确认码
=0x01
,表示收包有错;
确认码
=0x0e
,表示不能接收后续数据包
![](https://i-blog.csdnimg.cn/blog_migrate/bba206db0fb7ea5b84683bd04927e5dc.png)
上位机先发送指令包,模块应答后,上位机再发送若干个数据包。
包内容字节数
N
由“包内容长度”参数决定,出厂时“包内容长度”设置为
128 Bytes
。
2.12:删除模板 DeleteChar(0x0C)
功能说明:删除模块指纹库中指定的一段(指定
ID
号开始的
N
个指纹模板)模板。
输入参数:
StartID(
起始序号
) + Num (
删除的模板个数
)
返回参数:确认码
指令代码:
0x0C
![](https://i-blog.csdnimg.cn/blog_migrate/eeb248a2b36819dccf3bbcac3b87be90.png)
确认码
=0x00
,表示删除成功;
确认码
=0x01
,表示收包有错;
确认码
=0x10
,表示删除失败。
确认码
=0x18
,表示写
FLASH
出错。
2.13:清空指纹库 Empty(0x0D)
功能说明:清空指纹库中所有模板。
输入参数:无
返回参数:确认码
指令代码:
0x0D
![](https://i-blog.csdnimg.cn/blog_migrate/6c0a41e65dd6e935956a5707822a20f1.png)
确认码
=0x00
,表示清空成功;
确认码
=0x01
,表示收包有错;
确认码
=0x11
,表示清空失败。
确认码
=0x18
,表示写
FLASH
出错。
2.14:设置系统参数 SetSysPara(0x0E)
功能说明:设置系统参数。每次只能设置一个参数。
输入参数:参数序号
+
内容
返回参数:确认码
指令代码:
0x0E
![](https://i-blog.csdnimg.cn/blog_migrate/4ff47a0ad0951e0e439d4793a00fc8c4.png)
确认码
=0x00
表示操作成功;
确认码
=0x01
表示收包有错。
确认码
=0x1A
表示参数序号有误。
确认码
=0x18
,表示写
FLASH
出错。
![](https://i-blog.csdnimg.cn/blog_migrate/088ef78b5f995cdb02e693b7971b86b9.png)
2.15:读取系统参数 ReadSysPara(0x0F)
功能说明:读取系统参数
输入参数:无
返回参数:确认码
+
参数列表
指令代码:
0x0F
![](https://i-blog.csdnimg.cn/blog_migrate/9edbf290fb7c40d2a80845366b578d69.png)
确认码
=0x00
表示操作成功;
确认码
=0x01
表示收包有错。
确认码
=0x18
,表示读写
FLASH
出错。
![](https://i-blog.csdnimg.cn/blog_migrate/e508ed0933ba5628d5868ea943a9e596.png)
2.16:设置口令 SetPwd(0x12)
功能说明:设置模块口令(若修改过默认口令,则模块上电后必选先验证口令才能执行其他指令)
输入参数:
PassWord
返回参数:确认码
指令代码:
0x12
![](https://i-blog.csdnimg.cn/blog_migrate/80d749961e46194efe61c6dafb806c94.png)
确认码
=0x00
表示
OK
;
确认码
=0x01
表示收包有错。
确认码
=0x21
表示必须验证口令。
确认码
=0x18
,表示读写
FLASH
出错。
2.17:验证口令 VfyPwd(0x13)
功能说明:验证模块口令(若修改过默认口令,则模块上电后必选先验证口令才能执行其他指令)
输入参数:
PassWord
返回参数:确认码
指令代码:
0x13
![](https://i-blog.csdnimg.cn/blog_migrate/16ae9cb25970e7d019a9e42ffeca31f3.png)
确认码
=0x00
表示口令验证正确;
确认码
=0x01
表示收包有错;
确认码
=0x13
表示口令不正确。
2.18:获取随机数 GetRandomCode(0x14)
功能说明:令模块生成一个随机数返回给上位机
输入参数:无
返回参数:确认码
+ RandomCode
(随机数)
指令代码:
0x14
![](https://i-blog.csdnimg.cn/blog_migrate/caef4d4cd0124b4e9788f20f485bc3c1.png)
确认码
=0x00
表示获取成功;
确认码
=0x01
表示收包有错。
2.19:设置模块地址 SetAddr(0x15)
功能说明:设置模块地址
输入参数:
Addr
返回参数:确认码
指令代码:
0x15
![](https://i-blog.csdnimg.cn/blog_migrate/88b06cd899ffc1e13c61c4d49c5d4f23.png)
确认码
=0x00
表示设置地址成功;
确认码
=0x01
表示收包有错。
确认码
=0x18
,表示读写
FLASH
出错。
2.20:读取信息页 ReadInfPage(0x16)
功能说明:读取信息页(
512
字节)。
输入参数:无
返回参数:确认码
指令代码:
0x16
指令包格式:
![](https://i-blog.csdnimg.cn/blog_migrate/dcdca9d988927722679bbe759b4f938a.png)
确认码
=0x00
,表示接着发送后续数据包;
确认码
=0x01
,表示收包有错;
确认码
=0x0f
,表示不能发送后续数据包
![](https://i-blog.csdnimg.cn/blog_migrate/0ee2908fb2cb7bda1122e4f675df7097.png)
上位机发送指令包,模块先发送应答包,再发送若干个数据包。
包内容字节数
N
由“包内容长度”参数决定,出厂时“包内容长度”设置为
128 Bytes
。
2.21:写记事本 WriteNotepad(0x18)
功能说明:用于写入用户的
32 bytes
数据到指定的记事本页(参见“
3.6
记 事 本”)
输入参数:
NotePageNum , UserContent
返回参数:确认码
指令代码:
0x18
![](https://i-blog.csdnimg.cn/blog_migrate/cc5c80141d9a073debaf687acf65a2e4.png)
确认码
=0x00
表示写入成功;
确认码
=0x01
表示收包有错。
确认码
=0x18
表示读写
FLASH
出错。
2.22:读记事本 ReadNotepad(0x19)
功能说明:用于读取记事本页中的数据内容(参见“
3.6
记 事 本”)
输入参数:
NotePageNum
(记事本页号)
,
返回参数:确认码
+ UserContent
(用户信息)
指令代码:
0x19
![](https://i-blog.csdnimg.cn/blog_migrate/fa69a80113ea025137e31c2004abeea0.png)
确认码
=0x00
表示读取成功;
确认码
=0x01
表示收包有错。
2.23:读取有效模板个数 ValidTemplateNum(0x1D)
功能说明:读取模块内已存储的有效指纹模板个数
输入参数:无
返回参数:确认码
+
有效模板个数
Num
指令代码:
0x1D
![](https://i-blog.csdnimg.cn/blog_migrate/338f4df3fe8bdf13437819fc4a379254.png)
确认码
=0x00
表示操作成功;
确认码
=0x01
表示收包有错。
2.24:读取指纹模板索引表 ReadIndexTable(0x1F)
功能说明:读取模块指纹模板索引表,每次最多读取
256
个指纹模板的索引表
(32
字节
)
输入参数:索引页
返回参数:确认码
+
指纹模板索引表
指令代码:
0x1F
![](https://i-blog.csdnimg.cn/blog_migrate/a9fb24de474c57e3d6ce3f6946993ea8.png)
索引表按页读取,每页
256
个模板
索引页
0
代表读取
0
~
255
指纹模板索引表
索引页
1
代表读取
256
~
511
指纹模板索引表
索引页
2
代表读取
512
~
767
指纹模板索引表
索引页
3
代表读取
768
~
1023
指纹模板索引表
![](https://i-blog.csdnimg.cn/blog_migrate/bac6806a327a6de7c0ad8653ad9f0ece.png)
确认码
=0x00
表示读取成功;
确认码
=0x01
表示收包有错。
![](https://i-blog.csdnimg.cn/blog_migrate/d89de6e9188887c31f83f7d3481fe029.png)
索引表数据“
0
”代表对应位置无有效模板;“
1
”代表对应位置有有效模板。
2.25:取消指令 Cancel(0x30)
功能说明:取消命令
输入参数:无
返回参数:确认码
指令代码:
0x30
![](https://i-blog.csdnimg.cn/blog_migrate/b0feaea05d5bd10c27b73a79f6e4e678.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f9e001ccdcc334abe69bdd040ac9b943.png)
确认码
=0x00
表示取消设置成功;
确认码
=
其他 表示取消设置失败。
2.26:握手 HandShake(0x40)
功能说明:向模块发送握手指令,若模块工作正常,将返回确认码
0x00,
上位机可继续向模块发送指 令;若确认码为其他或无应答,表示设备异常。
输入参数:无
返回参数:确认码
指令代码:
0x40
![](https://i-blog.csdnimg.cn/blog_migrate/00cc35bb22528162bff5847e7bde3415.png)
确认码
=0x00
表示设备正常,可以接收指令;
确认码
=
其他,表示设备异常。
另外,模块上电后会自动发送
0x55
作为握手标志,单片机检测到
0x55
后,可以立刻发送命令进入工 作状态。确认码=0x00
表示设备正常,可以接收指令。
2.27:获取算法库版本 GetAlgVer(0x39)
功能说明:获取算法库版本
输入参数:无
返回参数:确认码
+AlgVer(
算法库版本字符串)
指令代码:
0x39
![](https://i-blog.csdnimg.cn/blog_migrate/db28ec4d46748c7aff4f2cdeade67782.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9511f564475e386bd3deeef0ec218f52.png)
确认码
=0x00
表示获取成功;
确认码
=0x01
,表示收包错误。
2.28:获取固件版本 GetFwVer(0x3A)
功能说明:获取算法版本
输入参数:无
返回参数:确认码
+FwVer(
固件版本字符串)
指令代码:
0x3A
![](https://i-blog.csdnimg.cn/blog_migrate/b9eded18df8c243c7509ead4484eb6c7.png)
确认码
=0x00
表示获取成功;
确认码
=0x01
,表示收包有错。
2.29:光环控制 AuraLedConfig(0x35)
功能说明:光环
LED
控制
输入参数:控制码
Ctrl,
速度
Speed,
颜色索引
ColorIndex,
次数
Times
返回参数:确认码
指令代码:
0x35
![](https://i-blog.csdnimg.cn/blog_migrate/dccaf32818fb59df4cbb1328312c0843.png)
速度:
0x00-0xff, 256
档,最慢
5s
一个周期。对呼吸灯和闪烁灯、渐开、渐灭有效。
![](https://i-blog.csdnimg.cn/blog_migrate/57322d0610996eee76bc790d06498e86.png)
循环次数:
0-
无限次,
1-255
次。对呼吸灯和闪烁灯、渐开、渐灭有效。
三彩灯闪烁顺序:蓝色→红色→绿色
七彩灯闪烁顺序:青色→白色→红色→绿色→黄色→蓝色→紫红色
示例:设置七彩呼吸灯
EF 01 FF FF FF FF 01 00 07 35 01 50 30 00 00 BE (速度 50)
![](https://i-blog.csdnimg.cn/blog_migrate/74b1ff8e3e547860ae788e9ee27531f4.png)
确认码
=0x00
表示设置成功;
确认码
=0x01
,表示收包有错。
2.30:自动注册模板 AutoEnroll (0x31)
采用自动注册模板进行录入指纹时,系统录入一次指纹模板共需录入 6 次指纹图像,采集指纹图像时 蓝灯闪烁。指纹图像采集成功后黄灯长亮,指纹特征生成成功绿灯闪烁。如果要求采集图像过程中手指必 须离开,则需要抬起手指后图像才会重新采集,在等待手指离开过程中,白灯闪烁。6 次采集指纹图像, 生成特征成功后,进行合成特征,存储模板指纹操作。操作成功后绿灯亮,失败则红灯亮。在每次采集指 纹图像时,如果手指离开传感器超过 10 秒左右,会自动退出自动注册模板流程。
输入参数:
ModelID
指纹库位置号
Config1
是否允许覆盖
ID
号
Config2
是否允许重复指纹
Config3
模块在关键步骤是否返回状态
Config4
是否允许要求手指离开
返回参数:确认码
ModelID
(指纹库位置号)
指令代码:
0x31
指令包格式:
![](https://i-blog.csdnimg.cn/blog_migrate/d592659b1deb6076dd866a40717828d6.png)
Model ID :
位置号
ID
:
0x0000 -0x05DB
0x05DC-0xFFFF
为自动填充(
ID
号由系统分配,系统会从
0
号模板开始搜索空模板)
是否允许覆盖
ID
号:
0
不允许
1
允许
是否允许重复指纹注册:
0
不允许
1
允许
注册过程中是否返关键步骤状态:
0
不允许
1
允许
注册过程中是否要求手指离开才能进入下一次指纹图像采集:
0
不要求离开
1
必须离开
示例: EF 01 FF FF FF FF 01 00 09 31 05 DC 00 01 01 01 01 1F(允许返回步骤状态)
应答: EF 01 FF FF FF FF 07 00 06 00 01 00 03 00 11 EF 01 FF FF FF FF 07 00 06 00 02 00 03
00 12 EF 01 FF FF FF FF 07 00 06 00 03 00 03 00 13 EF 01 FF FF FF FF 07 00 06 00 04 00 03 00
14 EF 01 FF FF FF FF 07 00 06 00 05 00 03 00 15 EF 01 FF FF FF FF 07 00 06 00 06 00 03 00 16
EF 01 FF FF FF FF 07 00 06 00 07 00 03 00 17 EF 01 FF FF FF FF 07 00 06 00 08 00 03 00 18 EF
01 FF FF FF FF 07 00 06 00 09 00 03 00 19 EF 01 FF FF FF FF 07 00 06 00 0A 00 03 00 1A EF 01
FF FF FF FF 07 00 06 00 0B 00 03 00 1B EF 01 FF FF FF FF 07 00 06 00 0C 00 03 00 1C EF 01 FF
FF FF FF 07 00 06 00 0D 00 03 00 1D EF 01 FF FF FF FF 07 00 06 00 0E 00 03 00 1E EF 01 FF FF
FF FF 07 00 06 00 0F 00 03 00 1F (指纹 ID)
![](https://i-blog.csdnimg.cn/blog_migrate/b20fb301f7677bc36865ee56b95b4a9d.png)
参数
1
:步骤过程
:
0x01:
第一次采集图像
0x02:
第一次生成特征
0x03:
第二次采集图像
0x04:
第二次生成特征
0x05:
第三次采集图像
0x06:
第三次生成特征
0x07:
第四次采集图像
0x08:
第四次生成特征
0x09:
第五次采集图像
0x0A:
第五次生成特征
0x0B:
第六次采集图像
0x0C:
第六次生成特征
0x0D:
重复指纹检查
0x0E:
合并特征
0x0F:
存储模板
![](https://i-blog.csdnimg.cn/blog_migrate/9f501efe26d95c6f36832f2e6455fb82.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a39ed0449cb0813b2db5618af0a71cc5.png)
如果注册过程中是否返关键步骤状态设置为
0
,则只返回最后一条应答包
确认码
=0x00
表示设置成功
确认码
=0x01
表示设置失败
确认码
=0x07
生成特征失败
确认码
=0x0a
合并模板失败
确认码
=0x0b
ID 号超出范围
确认码
=0x
1f 指纹库已满
确认码
=0x22
指纹模板为空
确认码
=0x26
超时
确认码
=0x27
指纹已存在
2.31:自动验证指纹 AutoIdentify (0x32)
在使用自动验证指纹指令进行搜索验证指纹时,系统会自动采集一次指纹图像、生成特征,然后同指 纹库中的指纹存在的指纹模板进行比对,如果比对成功,返回对应的模板 ID 号和比对得分,如果比对失败则返回对应的错误码。
在获取指纹图像时,指纹头亮白色呼吸灯,采集图像成功后会亮黄色灯,在比对成功后会亮绿灯进行 提示。中途如果有指纹图像采集错误或者没有搜索到指纹,则会亮红灯进行提示。如果在发送完指令后, 或者报错后再次采集指纹图像时,系统超过 10 秒没有检测到手指,则会自动退出该条指令。
输入参数:safeGrade 安全等级(1-5 级)
startID 搜索起始位置
num 搜索数量
Config1 模块在关键步骤是否返回状态
Config2 指纹搜索报错次数
返回参数:确认码
ModelID
(匹配的指纹库位置号) 、
MarchScore
(得分)
指令代码:
0x32
指令包格式:
![](https://i-blog.csdnimg.cn/blog_migrate/39730651d1707e7f40d172c2dab0b1bd.png)
安全等级: 1-5
起始位置: 0-1499
搜索数量: 1-1500
返回搜索步骤:0 不允许
1 允许
指纹搜索报错次数:
0-0xff 0
: 一直进行采集图像搜索特征操作,若搜索到指纹库内有相同特征
ID
号,则退出(
0 为一直循环,直到找到能匹配的 ID
或断电才能退出)
1-0xff
:对采集到的图像进行生成特征和指纹搜索,若匹配成功则返回匹配的
ID
号和得分,同时
退出这条指令;若匹配失败,需重新进行以上操作,重复次数
1-0xff
。 对应报错次数后退出。
无论是何种方式,在发送完指令后或者再次采集图像时,如果超过
10
秒系统没有检测到手指,都会退出该条指令。
示例:EF 01 FF FF FF FF 01 00 0A 32 03 00 00 05 DC 01 01 01 23(从 0 开始,搜索 1500 枚)
应答:EF 01 FF FF FF FF 07 00 08 00 01 00 00 00 00 00 10 EF 01 FF FF FF FF 07 00 08 00 02
00 00 00 00 00 11 EF 01 FF FF FF FF 07 00 08 00 03 00 02 00 BD 00 D1
(指纹 ID 号及得分)
![](https://i-blog.csdnimg.cn/blog_migrate/8771f196068f7e289ce55e2fb920c657.png)
确认码
=0x00
表示设置成功
确认码
=0x01
表示设置失败
确认码
=0x09
没有搜索到指纹
确认码
=0x0b
ID 号超出范围
确认码
=0x22
指纹模板为空
确认码
=0x24
指纹库为空
确认码
=0x26
超时