R306指纹识别模块指令系统

2024-01-01 18:20

本文主要是介绍R306指纹识别模块指令系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一:指令集

1. GR_GetImage

指令代码:01H

功能:从传感器上读入图像存于图像缓冲区

2. GR_GenChar

指令代码:02H

功能:根据原始图像生成指纹特征存于 CharBuffer1 或 CharBuffer2

3. GR_Match

指令代码:03H

功能:精确比对 CharBuffer1 与 CharBuffer2 中的特征文件

4. GR_Search

指令代码:04H

功能:以 CharBuffer1 或 CharBuffer2 中的特征文件搜索整个或部分指纹库

5. GR_RegModel

指令代码:05H

功 能 : 将 CharBuffer1 与 CharBuffer2 中 的 特 征 文 件合并生成模板存于CharBuffer1 与 CharBuffer2

6. GR_StoreChar

指令代码:06H

功能:将特征缓冲区中的文件储存到 flash 指纹库中

7. GR_LoadChar

指令代码:07H

功能:从 flash 指纹库中读取一个模板到特征缓冲区

8. GR_UpChar

指令代码:08H

功能:将特征缓冲区中的文件上传给上位机

9. GR_DownChar

指令代码:09H

功能:从上位机下载一个特征文件到特征缓冲区

10. GR_UpImage

指令代码:0AH

功能:上传原始图像

11. GR_DownImage

指令代码:0BH

功能:下载原始图像

12. GR_DeletChar

指令代码:0CH

功能:删除 flash 指纹库中的一个特征文件

13. GR_Empty

指令代码:0DH

功能:清空 flash 指纹库

14. GR_WriteReg

指令代码:0EH

功能:设置系统参数

15. GR_ReadSysPara

指令代码:0FH

功能:读系统基本参数

16. GR_Enroll

指令代码:10H

功能:注册模板

17. GR_ Identify

指令代码:11H

功能:验证指纹

18. GR_SetPwd

指令代码:12H

功能:设置设备握手口令

19. GR_VfyPwd

指令代码:13H

功能:验证设备握手口令

20. GR_GetRandomCode

指令代码:14H

功能:采样随机数

21. GR_SetAddr

指令代码:15H

功能:设置模块地址

22. GR_Port_Control

指令代码:17H

功能:通讯端口(UART/USB)开关控制

23. GR_WriteNotepad

指令代码:18H

功能:写记事本

24. GR_ReadNotepad

指令代码:19H

功能:读记事本

25. GR_HighSpeedSearch

指令代码:1BH

功能:高速搜索 FLASH

26. GR_GenBinImage

指令代码:1CH

功能:生成二值化指纹图像

27. GR_ValidTempleteNum

指令代码:1dH

功能:读有效模板个数

二:指令详解

⑴ 录入图像 GR_GetImage

功能说明: 探测手指,探测到后录入指纹图像存于ImageBuffer。

输入参数: none

返回参数: 确认字

指令代码: 01H

注:确认码=00H表示录入成功;

确认码=01H表示收包有错;

确认码=02H表示传感器上无手指;

确认码=03H表示录入不成功;

sum指校验和

⑵ 生成特征 GR_GenChar

功能说明: 将ImageBuffer中的原始图像生成指纹特征文件存于CharBuffer1或CharBuffer2

输入参数 :BufferID(特征缓冲区号)

返回参数 :确认字

指令代码 :02H

注:确认码=00H表示生成特征成功;

确认码=01H表示收包有错;

确认码=06H表示指纹图像太乱而生不成特征;

确认码=07H表示指纹图像正常,但特征点太少而生不成特征;

确认码=15H表示图像缓冲区内没有有效原始图而生不成图像;

sum指校验和

⑶ 精确比对两枚指纹特征 GR_Match

功能说明 :精确比对CharBuffer1 与CharBuffer2 中的 特征文件

输入参数 :none

返回参数 :确认字,比对得分

指令代码 :03H

注:确认码=00H表示指纹匹配;

确认码=01H表示收包有错;

确认码=08H表示指纹不匹配;

sum指校验和

⑷ 搜索指纹 GR_Search

功能说明 :以 CharBuffer1或CharBuffer2中的特征文件搜索整个或部分指纹库。

                   若搜索到,则返回页码。

输入参数 :BufferID, StartPage(起始页),PageNum(页数)

返回参数 :确认字,页码(相配指纹模板)

指令代码:04H

注:确认码=00H表示搜索到;

确认码=01H表示收包有错;

确认码=09H表示没搜索到;此时页码与得分为0

sum指校验和

⑸ 合并特征(生成模板)GR_RegModel

功能说明 :将 CharBuffer1与CharBuffer2中的特征文件合并生成模板,

                   结果存于CharBuffer1与CharBuffer2。

输入参数 :none

返回参数 :确认字

指令代码:05H

注: 确认码=00H表示合并成功;

确认码=01H表示收包有错;

确认码=0aH表示合并失败(两枚指纹不属于同一手指))

sum指校验和

(6) 储存模板 GR_StoreChar

功能说明 :将 CharBuffer1 或 CharBuffer2 中的模板文件存到PageID号flash数据库位置。

输入参数 :BufferID(缓冲区号),PageID(指纹库位置号)

返回参数 :确认字

指令代码 :06H

注:确认码=00H表示储存成功;

确认码=01H表示收包有错;

确认码=0bH表示PageID超出指纹库范围;

确认码=18H表示写 FLASH出错;

sum指校验和

⑺ 读出模板 GR_LoadChar

功能说明 :将 flash数据库中指定ID号的指纹模板读入到模板缓冲区CharBuffer1或CharBuffer2

输入参数 :BufferID(缓冲区号),PageID(指纹库模板号)

返回参数 :确认字

指令代码 :07H

注:确认码=00H表示读出成功;

确认码=01H表示收包有错;

确认码=0cH表示读出有错或模板无效;

确认码=0BH表示PageID超出指纹库范围;

sum指校验和

⑻ 上传特征或模板 GR_UpChar

功能说明 :将特征缓冲区中的特征文件上传给上位机

输入参数 :BufferID(缓冲区号)

返回参数 :确认字

指令代码 :08H

注:确认码=00H表示随后发数据包;

确认码=01H表示收包有错;

确认码=0dH表示指令执行失败;

sum指校验和

应答之后发送后续数据包

⑼ 下载特征或模板 GR_DownChar

功能说明 :上位机下载特征文件到模块的一个特征缓冲区

输入参数 :BufferID(缓冲区号)

返回参数 :确认字

指令代码 :09H

注:确认码=00H表示可以接收后续数据包;

确认码=01H表示收包有错;

确认码=0eH表示不能接收后续数据包;

sum指校验和

应答之后接收后续数据包

⑽ 上传原始图像 GR_UpImage

功能说明 :将图像缓冲区中的数据上传给上位机

输入参数 :none

返回参数:确认字

指令代码 :0aH

注:确认码=00H表示接着发送后续数据包;

确认码=01H表示收包有错;

确认码=0fH表示不能发送后续数据包;

sum指校验和

应答之后发送后续数据包

一个字节含两个像素,每个像素占4bits

⑾ 下载图像 GR_DownImage

功能说明 :上位机下载图像数据给模块

输入参数 :none

返回参数 :确认字

指令代码 :0bH

注:确认码=00H表示可以接收后续数据包;

确认码=01H表示收包有错;

确认码=0eH表示不能接收后续数据包;

sum指校验和

应答之后接收后续数据包,数据包长度须是64,128或256

一个字节含两个像素,每个像素占4bits

⑿ 删除模板 GR_DeletChar

功能说明 :删除flash数据库中指定ID号开始的N个指纹模板

输入参数 :PageID(指纹库模板号),N删除的模板个数。

返回参数 :确认字

指令代码 :0cH

注:确认码=00H表示删除模板成功;

确认码=01H表示收包有错;

确认码=10H表示删除模板失败;

sum指校验和

⒀ 清空指纹库 GR_Empty

功能说明 :删除flash数据库中所有指纹模板

输入参数 :none

返回参数 :确认字

指令代码 :0dH

注:确认码=00H表示清空成功;

确认码=01H表示收包有错;

确认码=11H表示清空失败;

sum指校验和

⒁ 写系统寄存器 GR_WriteReg

功能说明 :写模块寄存器

输入参数 :寄存器序号

返回参数:确认字

指令代码 :0eH

注1:确认码=00H表示OK;

确认码=01H表示收包有错;

确认码=1aH表示寄存器序号有误;

sum指校验和

注2:写系统寄存器(GR_WriteReg)指令执行时,先按照原配置进行应答,应答之后修改系统设置,并将配置记录于 FLASH,系统下次上电后,将按照新的配置工作。

⒂ 读系统基本参数 GR_ReadSysPara

功能说明 :读取模块的基本参数(波特率,包大小等)。)

输入参数 :none

返回参数 :确认字 + 基本参数(16bytes)

指令代码 :0fH 

注:确认码=00H表示OK;

确认码=01H表示收包有错;

sum指校验和

⒅ 设置口令 GR_SetPwd

功能说明 :设置模块握手口令

输入参数 :PassWord

返回参数 :确认字

指令代码 :12H

注:确认码=00H表示OK;

确认码=01H表示收包有错;

sum指校验和

⒆ 验证口令 GR_VfyPwd

功能说明 :验证模块握手口令

输入参数 :PassWord

返回参数 :确认字

指令代码 :13H  

注:确认码=00H表示口令验证正确;

确认码=01H表示收包有错;

确认码=13H表示口令不正确;

sum指校验和

⒇ 采样随机数 GR_GetRandomCode

功能说明 :令芯片生成一个随机数并返回给上位机

输入参数 :none

返回参数 :确认字

指令代码 :14H

注:确认码=00H表示生成成功;

确认码=01H表示收包有错;

sum指校验和

(21) 设置模块地址 GR_SetAddr

功能说明 :设置模块地址

输入参数 :none

返回参数 :确认字

指令代码 :15H

注:确认码=00H表示生成地址成功;

确认码=01H表示收包有错;

sum指校验和

上位机下传指令包时模块地址采用缺省地址:0xffffffff,应答包的地址域即采用新生成的地址本指令执行后,模块地址随即固定下来,保持不变。只有清空FLASH才能改变模块地址。本指令执行后,所有数据包都得用该生成的地址。

(22) 端口控制 GR_Port_Control

功能说明 :对于UART协议,该命令对USB通讯端口进行开关控制。

                   对于USB协议,该命令对UART端口进行开关控制。

输入参数 :控制码

                   控制码0代表关闭端口

                   控制码1代表开启端口

返回参数 :确认字

指令代码 :17H

注:确认码=00H表示端口操作成功;

确认码=01H表示收包有错;

确认码=1dH表示端口操作失败;

sum指校验和

(23) 写记事本 GR_WriteNotepad

功能说明 :模块内部为用户开辟了256bytes的FLASH 空间用于存放用户数据,该存储空间称为用户记事本,该记事本逻辑上被分成 16 个页,写记事本命令用于写入用户的32bytes数据到指定的记事本页 。

输入参数 :NotePageNum,user content

返回参数 :确认字

指令代码 :18H

注:确认码=00H表示OK;

确认码=01H表示收包有错;

sum指校验和

(24) 读记事GR_ReadNotepad

功能说明 :读取FLASH用户区的128bytes数据

输入参数 :none

返回参数 :确认字 + 用户信息

指令代码 :19H

指令包格式:

注:确认码=00H表示OK;

确认码=01H表示收包有错;

sum指校验和

(25) 高速搜索GR_HighSpeedSearch

功能说明 :以CharBuffer1或CharBuffer2中的特征文件高速搜索整个或部分指纹库。

                   若搜索到,则返回页码。 该指令对于的确存在于指纹库中,且登录时质量

                   很好的指纹,会很快给 出搜索结果。

输入参数:BufferID, StartPage(起始页),PageNum(页数)

返回参数 :确认字,页码(相配指纹模板)

指令代码 :1bH

注:确认码=00H表示搜索到;

确认码=01H 表示收包有错;

确认码=09H表示没搜索到;此时页码与得分为0

sum指校验和

(26) 生成细化指纹图像 GR_GenBinImage

功能说明 :对图像缓冲区中的指纹图像进行处理并生成细化指纹图像

输入参数 :BinImgTpye

                   0:二值化图像

                   1:不含特征点标识的细化图像

                   2或其他:带有特征点标识的细化图像

返回参数 :确认字

指令代码 :1cH

注:确认码=01H表示收包有错;

确认码=15H 表示无效指纹图像

确认码= 07 H表示没有足够特征信息

确认码=06 H表示图像质量太差    sum指校验和

(27) 读有效模板个数 GR_ValidTempleteNum

功能说明 :读有效模板个数

输入参数 :none

返回参数 :确认字,有效模板个数ValidN

指令代码 :1dH

注:确认码=00H表示读取成功;

确认码=01H表示收包有错;

sum指校验和

这篇关于R306指纹识别模块指令系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/560124

相关文章

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

Python模块导入的几种方法实现

《Python模块导入的几种方法实现》本文主要介绍了Python模块导入的几种方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录一、什么是模块?二、模块导入的基本方法1. 使用import整个模块2.使用from ... i

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于