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指校验和

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/589072.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud(H版alibaba)框架开发教程,使用eureka,zookeeper,consul,nacos做注册中心——附源码(1)

源码地址:https://gitee.com/jackXUYY/springboot-example 创建订单服务,支付服务,公共api服务(共用的实体),eureka服务 1.cloud-consumer-order80 2.cloud-provider-payment8001 3.cloud-api-commons 4.…

kubeadm来搭建k8s集群。

我们采用了二进制包搭建出的k8s集群,本次我们采用更为简单的kubeadm的方式来搭建k8s集群。 二进制的搭建更适合50台主机以上的大集群,kubeadm更适合中小型企业的集群搭建 主机配置建议:2c 4G 主机节点 IP …

Spring@Scheduled定时任务与SQLSERVER distinct order by的错误吞噬

目录 Scheduled 提供的调度机制 遇到错误不会抛出 数据库SQL差异 Scheduled 提供的调度机制 cronzonefixedDelayfixedDelayStringfixedRatefixedRateStringinitialDelayinitialDelayString 上面具体怎么用自己代码定位到API上去看注释说明。 遇到错误不会抛出 在SqlSe…

【力扣题解】P700-二叉搜索树中的搜索-Java题解

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P700-二叉搜索树中的搜索-Java题解🌏题目描述💡题解&#x1f…

智慧园区物联综合管理平台之架构简述

总体架构 系统总体划分为物联感知系统层、 核心平台层、 综合运营服务平台和展示层四部分。 物联感知系统层 物联感知系统主要是支撑园区智能化运行的各子系统, 包括门禁系统、 视频监控系统、 车辆管理系统等。 核心平台层 核心平台层包括: 园区物联综合管理平台和园区…

x-cmd pkg | gum - 很好看的终端 UI 命令行工具

目录 简介首次用户功能特点Bubbles 与 Lip Gloss进一步探索 简介 gum 由 Charm 组织于 2022 年使用 Go 语言开发。旨在帮助用户编写 Shell 脚本与 dotfiles 时提供一系列快捷使用,可配置,可交互,美观的 Terminal UI 组件。 首次用户 使用 x…

[Angular] 笔记 25:指令

组件指令 (chatgpt 回答) 在 Angular 中,组件本身可以被视为指令,这种指令被称为组件指令。组件是 Angular 应用的构建块之一,它封装了一段具有特定功能和特性的用户界面,并且可以在应用中重复使用。 组件指令具有以下特征&…

Final Cut 视频剪辑快速入门,小白上手视频课的制作

本文是一个快速入门教程,如果您是0视频处理基础,又想录制网课或是一些对效果要求不高的视频那么这篇教程足够使用了。 本文主要用Final Cut处理视频课,本文是笔者在制作视频课过程中逐渐摸索的,如果您想制作一些比较专业的视频&a…

Docker九 | Swarm mode

目录 Swarm基本概念 节点 服务和任务 创建Swarm集群 创建管理节点 增加工作节点 查看集群 部署服务 新建服务 查看服务 服务伸缩 增加服务 减少服务 删除服务 Swarm基本概念 节点 节点分为管理节点(manager)和工作节点(worker) 管理节点 管理节点用于Swarm集群的…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前数据吞吐量(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK里函数来获取相机当前数据吞吐量(C#) Baumer工业相机Baumer工业相机的数据吞吐量的技术背景CameraExplorer如何查看相机吞吐量信息在NEOAPI SDK里通过函数获取相机接口吞吐量 Baumer工业相机通过NEOAPISDK获…

Django 学习教程-介绍与安装

系列 Django 学习教程-第一个 Django 应用-CSDN博客 介绍 Django 是一个高级 Python Web 框架,它鼓励快速开发和干净、实用的设计。 它由经验丰富的开发人员构建,解决了 Web 开发的大部分麻烦,因此您可以专注于在编写应用程序时无需重新发…

自定义事件

自定义事件 自定义事件 AAA"fn1":向子组件的事件池中注入AAA事件,方法是父组件的fn1 发布订阅:子组件某个操作把父组件中的某个方法执行了 参数可以传多个 $listeners* $listeners:事件池中的方法 { aaa:fn1, bbb:fn2 }…

RestClient操作索引库_创建索引库(二)

ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句, 通过http请求发送给ES。 官方文档地址: https://www.elastic.co/quide/en/elasticsearch/client/index.html 目录 一、初始化JavaRestClient 1.1.依赖引入 1.2.初始化…

Mybatis枚举类型处理和类型处理器

专栏精选 引入Mybatis Mybatis的快速入门 Mybatis的增删改查扩展功能说明 mapper映射的参数和结果 Mybatis复杂类型的结果映射 Mybatis基于注解的结果映射 Mybatis枚举类型处理和类型处理器 再谈动态SQL Mybatis配置入门 Mybatis行为配置之Ⅰ—缓存 Mybatis行为配置…

MySQL之复合查询

目录 单表查询回顾 多表查询 自连接 子查询 在from子句中使用子查询 合并查询 单表查询回顾 在讲解多表查询前,我们先回顾一下单表查询,这是因为多表查询本质上依然是单表查询(其原因在下文中讲解多表查询时再说明)&#x…

【vue】Easy Player实现视频播放:

文章目录 一、效果:二、文档:三、实现:【1】安装插件:【2】引入js文件:【3】使用: 四、方法: 一、效果: 二、文档: GitCode - EasyPlayer.js npm-easydarwin/easyplayer…

uni-app 前后端调用实例 基于Springboot 下拉刷新实现

锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…

关于“Python”的核心知识点整理大全54

目录 18.4 创建其他网页 18.4.1 模板继承 1. 父模板 base.html 注意 2. 子模板 index.html 注意 18.4.2 显示所有主题的页面 1. URL模式 urls.py 2. 视图 views.py 3. 模板 topics.html 18.4.3 显示特定主题的页面 1. URL模式 urls.py 2. 视图 views.py 往…

Delphi6函数大全3-SysUtils.pas

Delphi6函数大全3-SysUtils.pas首部 function FindNext(var F: TSearchRec): Integer; $[SysUtils.pas功能 返回继续文件搜索说明 搜索成功则返回0参考 function Windows.FindNextFile例子 <参见FindFirst>━━━━━━━━━━━━━━━━━━━━━首部…

KFold解释和代码实现

KFold解释和代码实现 文章目录 一、KFold是什么&#xff1f;二、 实验数据设置2.1 实验数据生成代码2.2 代码结果 三、实验代码3.1 实验代码3.2 实验结果3.3 结果解释 四、总结 一、KFold是什么&#xff1f; 0&#xff0c;1&#xff0c;2&#xff0c;3&#xff1a;每一行表示测…