R503S指纹识别模块的指令系统(一)

1.采集指纹图像 GetImage(0x01)

功能说明:探测手指,探测到后录入指纹图像存于 ImageBuffer,并返回录入成功确认码;若探测不到手指,直接返回无手指确认码(模块对于每一条指令都快速反应,因此如连续探测,需进行循环处理,可限定循环的次数或总时间)。

输入参数:无

返回参数:确认码

指令代码:0x01

确认码=0x00,表示录入成功;

确认码=0x01,表示收包有错;

确认码=0x02,表示传感器上无手指;

确认码=0x03,表示录入不成功。

2.图像生成特征 GenChar(0x02)

功能说明:将 ImageBuffer 中的原始图像生成指纹特征。

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

返回参数:确认码

指令代码:0x02

确认码=0x00,表示生成特征成功;

确认码=0x01,表示收包有错;

确认码=0x06,表示指纹图像太乱而生不成特征;

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

确认码=0x15,表示图像缓冲区内没有有效原始图而生不成图像。

3.指纹比对 Match(0x03)

功能说明:将提取到的特征进行比对,并给出比对结果。

输入参数:无

返回参数:确认码+ MatchScore(比对得分)

指令代码:0x03

确认码=0x00,表示指纹匹配;

确认码=0x01,表示收包有错;

确认码=0x08,表示指纹不匹配。

4.指纹搜索 Search(0x04)

功能说明:将提取到的特征,与指纹库中模板进行比对,并给出比对结果。

输入参数:CharBufferID(特征缓冲区号) + StartID(起始序号) + Num(个数)

返回参数:确认码+ModelID(模板序号)+ MatchScore(比对得分)

指令代码:0x04

确认码=0x00,表示搜索到;

确认码=0x01,表示收包有错;

确认码=0x09,表示没搜索到。

5.特征合成模板 RegModel(0x05)

功能说明:将多次(4-6 次,用户自定义)采集的指纹特征生成模板。

输入参数:无

返回参数:确认码

指令代码:0x05

确认码=0x00,表示合并成功;

确认码=0x01,表示收包有错;

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

6.存储模板 StoreChar(0x06)

功能说明:将缓冲区中的模板数据存储到 Flash 指纹库中指定位置。

输入参数:CharBufferID(特征缓冲区号),ModelID(指纹库位置号)

返回参数:确认码

指令代码:0x06

确认码=0x00,表示储存成功;

确认码=0x01,表示收包有错;

确认码=0x0b,表示 ModelID 超出指纹库范围;

确认码=0x18,表示写 FLASH 出错。

7.读出模板 LoadChar(0x07)

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

输入参数:CharBufferID(特征缓冲区号),ModelID(指纹库位置号)

返回参数:确认码

指令代码:0x07

确认码=0x00,表示读出成功;

确认码=0x01,表示收包有错;

确认码=0x0b,表示 ModelID 超出指纹库范围;

确认码=0x0C,表示读出有错或模板无效。

8.上传模板 UpChar(0x08)

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

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

返回参数:确认码

指令代码:0x08

确认码=0x00,表示接着发送后续数据包;

确认码=0x01,表示收包有错;

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

确认码=0x0d,表示指令执行失败。

上位机发送指令包,模块先发送应答包,再发送若干个数据包。

包内容字节数 N 由“包内容长度”参数决定,出厂时“包内容长度”设置为128 Bytes。

9.下载模板 DownChar(0x09)

功能说明:上位机下载模板到模块缓冲区。

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

返回参数:确认码

指令代码:0x09

确认码=0x00,表示可以接收后续数据包;

确认码=0x01,表示收包有错;

确认码=0x0e,表示不能接收后续数据包。

上位机先发送指令包,模块应答后,上位机再发送若干个数据包。包内容字节数 N 由“包内容长度”参数决定,出厂时“包内容长度”设置为128 Bytes。

10.上传图像 UpImage(0x0A)

功能说明:将模块图像缓冲区 ImageBuffer 中的数据上传给上位机。每一个像素4bit。

输入参数:无

返回参数:确认码

指令代码:0x0A

上位机发送指令包,模块先发送应答包,再发送若干个数据包。包内容字节数 N 由“包内容长度”参数决定,出厂时“包内容长度”设置为128 Bytes。

11.下载图像 DownImage(0x0B)

功能说明:上位机下载图像数据到模块图像缓冲区 ImageBuffer。每个像素4bit。

输入参数:无

返回参数:确认码

指令代码:0x0B

确认码=0x00,表示可以接收后续数据包;

确认码=0x01,表示收包有错;

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

上位机先发送指令包,模块应答后,上位机再发送若干个数据包。包内容字节数 N 由“包内容长度”参数决定,出厂时“包内容长度”设置为128 Bytes。

12.删除模板 DeleteChar(0x0C)

功能说明:删除模块指纹库中指定的一段(指定 ID 号开始的 N 个指纹模板)模板。

输入参数:StartID(起始序号) + Num (删除的模板个数)

返回参数:确认码

指令代码:0x0C

确认码=0x00,表示删除成功;

确认码=0x01,表示收包有错;

确认码=0x10,表示删除失败。

确认码=0x18,表示写 FLASH 出错。

13.清空指纹库 Empty(0x0D)

功能说明:清空指纹库中所有模板。

输入参数:无

返回参数:确认码

指令代码:0x0D

确认码=0x00,表示清空成功;

确认码=0x01,表示收包有错;

确认码=0x11,表示清空失败。

确认码=0x18,表示写 FLASH 出错。

14.设置系统参数 SetSysPara(0x0E)

功能说明:设置系统参数。每次只能设置一个参数。

输入参数:参数序号+内容

返回参数:确认码

指令代码:0x0E

15.读取系统参数 ReadSysPara(0x0F)

功能说明:读取系统参数

输入参数:无

返回参数:确认码+参数列表

指令代码:0x0F

确认码=0x00 表示操作成功;

确认码=0x01 表示收包有错。

确认码=0x18,表示读写 FLASH 出错。

16.设置口令 SetPwd(0x12)

功能说明:设置模块口令(若修改过默认口令,则模块上电后必选先验证口令才能执行其他指令)

输入参数:PassWord

返回参数:确认码

指令代码:0x12

确认码=0x00 表示 OK;

确认码=0x01 表示收包有错。

确认码=0x21 表示必须验证口令。

确认码=0x18,表示读写 FLASH 出错。

17.验证口令 VfyPwd(0x13)

功能说明:验证模块口令(若修改过默认口令,则模块上电后必选先验证口令才能执行其他指令)

输入参数:PassWord

返回参数:确认码

指令代码:0x13

确认码=0x00 表示口令验证正确;

确认码=0x01 表示收包有错;

确认码=0x13 表示口令不正确。

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

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

相关文章

C++ DAY2作业

1.课堂struct练习&#xff0c;用class&#xff1b; #include <iostream>using namespace std;class Stu { private:int age;char sex;int high; public:double score;void set_values(int a,char b,int c,double d);int get_age();char get_sex();int get_high(); }; vo…

SpringBoot 3.2.0 结合Redisson接入Redis

依赖版本 JDK 17 Spring Boot 3.2.0 Redisson 3.25.0 工程源码&#xff1a;Gitee 集成Redis步骤 导入依赖 <properties><redisson.version>3.25.0</redisson.version> </properties> <dependencies><dependency><groupId>org.pr…

echart地图的小demo12.27

图形&#xff1a; DataV.GeoAtlas地理小工具系列 点击以上链接进入--》 再点击箭头---》复制坐标到文件&#xff1a; 取名为 china.json中 &#xff08;文件名自定义&#xff09; <template><div class"map" ref"chartMap">地图</div>…

案例232:基于微信小程序的学生实习与就业管理系统设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder …

java旅游攻略管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web旅游攻略管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql…

ASUS华硕ROG幻16笔记本电脑2023款GU604VI VZ VY原装出厂Windows11系统22H2

华硕玩家国度幻16笔记本原厂W11系统&#xff0c;适用型号&#xff1a;GU604VI、GU604VZ、GU604VY 链接&#xff1a;https://pan.baidu.com/s/166x6FNUFEpA3Qbzeory3Hg?pwdlwau 提取码&#xff1a;lwau 系统自带所有驱动、出厂主题壁纸、Office办公软件、MyASUS华硕电脑管…

『JavaScript』全面解析JavaScript中的防抖与节流技术及其应用场景

&#x1f4e3;读完这篇文章里你能收获到 理解防抖&#xff08;Debouncing&#xff09;和节流&#xff08;Throttling&#xff09;的概念&#xff1a;了解这两种性能优化技术如何帮助我们更有效地处理频繁触发的事件掌握防抖与节流的实现方法&#xff1a;学习如何在JavaScript中…

C# 常用数据类型及取值范围

1.常见数据类型和取值范围 序号数据类型占字节数取值范围1byte10 到 2552sbyte1-128 到 1273short 2-32,768 到 32,7674ushort20 到 65,5355int4-2,147,483,648 到 2,147,483,6476uint40 到 4,294,967,2957float41.5 x 10−45 至 3.4 x 10388double85.0 10−324 到 1.…

走进电子技术之光敏电阻、电位器、开关

同学们大家好&#xff0c;今天我们继续学习杨欣的《电子设计从零开始》&#xff0c;这本书从基本原理出发&#xff0c;知识点遍及无线电通讯、仪器设计、三极管电路、集成电路、传感器、数字电路基础、单片机及应用实例&#xff0c;可以说是全面系统地介绍了电子设计所需的知识…

关于Java并发、JVM面试题

前言 之前为了准备面试&#xff0c;收集整理了一些面试题。 本篇文章更新时间2023年12月27日。 最新的内容可以看我的原文&#xff1a;https://www.yuque.com/wfzx/ninzck/cbf0cxkrr6s1kniv 并发 进程与线程的区别 线程属于进程&#xff0c;进程可以拥有多个线程。进程独享…

BAQ压缩MATLAB仿真

本专栏目录: ​​​​​​​全球SAR卫星大盘点与回波数据处理专栏目录-CSDN博客 我们按照上一期文章的BAQ原理编写MATLAB代码,进行baq压缩与解压缩的全流程验证,并分析BAQ压缩对信号指标造成的影响。 生成3个点目标回波数据,加入高斯噪声,对回波进行BAQ压缩和解BAQ压缩,…

Android集成OpenSSL实现加解密-集成

导入so 将编译生成的 OpenSSL 动态库文件&#xff08;.so 文件&#xff09;复制到你的 Android 项目的 libs 目录中 导入头文件 将编译生成的include文件夹导入到项目中 build.gradle添加配置 defaultConfig {……testInstrumentationRunner "androidx.test.runner…

【10】ES6:Promise 对象

一、同步和异步 1、JS 是单线程语言 JavaScript 是一门单线程的语言&#xff0c;因此同一个时间只能做一件事情&#xff0c;这意味着所有任务都需要排队&#xff0c;前一个任务执行完&#xff0c;才会执行下一个任务。但是&#xff0c;如果前一个任务的执行时间很长&#xff…

设计模式(4)--对象行为(6)--备忘录

1. 意图 在不破坏封装的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并在该对象之外保存这个状态。 这样以后可以将该对象恢复到原先保存的状态。 2. 三种角色 原发器(Originator)、备忘录(Memento)、负责人(Caretaker) 3. 优点 3.1 保持了封装边界。屏蔽了原发器的…

Tiny Object Detection

文章目录 RFLA: Gaussian Receptive Field based Label Assignment for Tiny Object Detection&#xff08;ECCV2022&#xff09;Dynamic Coarse-to-Fine Learning for Oriented Tiny Object Detection&#xff08;CVPR2023&#xff09;TOD-CMLNN&#xff08;2023&#xff09; …

错误代码-9907磁盘空间不足怎么办?几个步骤轻松搞定~

错误代码-9907表示磁盘空间不足。这意味着您的设备上的磁盘空间不足以完成当前的下载或存储任务。我们可以用这些方法解决这个问题。 一、对大文件进行压缩 可以使用压缩软件将一些文件进行压缩&#xff0c;以减少它们占用的磁盘空间。下面以嗨格式压缩大师作为操作示例。 1、…

k8s的网络类型

部署 CNI 网络组件 部署 flannel K8S 中 Pod 网络通信&#xff1a; ●Pod 内容器与容器之间的通信 在同一个 Pod 内的容器&#xff08;Pod 内的容器是不会跨宿主机的&#xff09;共享同一个网络命名空间&#xff0c; 相当于它们在同一台机器上一样&#xff0c;可以用 localho…

k8s 网络

还没有部署网络。 k8s的网络类型&#xff1a; k8s中的通信模式&#xff1a; 1&#xff0c;pod内部之间容器和容器之间的通信。 在同一个pod中的容器共享资源和网络&#xff0c;使用同一个网络命名空间。可以直接通信的。 2&#xff0c;同一个node节点之内不同pod之间的通信。…

docker学习(十九、network使用示例bridge)

文章目录 一、容器网络分配情况1.启动容器2.查看容器的network3.容器网络分配 二、bridge1.bridge详细介绍2.实践bridge两两匹配3.创建network&#xff0c;默认bridge network相关内容&#xff1a; docker学习&#xff08;十八、network介绍&#xff09; docker学习&#xff08…

听GPT 讲Rust源代码--src/tools(28)

File: rust/src/tools/clippy/clippy_lints/src/operators/identity_op.rs 文件路径 rust/src/tools/clippy/clippy_lints/src/operators/identity_op.rs 中的作用是定义了 IdentityOp 类型的 Clippy lint 规则&#xff0c;用于检查代码中是否存在不必要的恒等操作符&#xff0…