基于stm32f103c8t6及AS608-----指纹锁项目_stm32f103c8t6项目-CSDN博客
quartus 固化程序步骤_quarter固化-CSDN博客
Markdown文档阅读器:Markdown | 特色功能 | 印象笔记 (yinxiang.com)
模块购买地址:【优信电子】AS608光学指纹识别模块 指纹采集/STM32 51单片机 (taobao.com)
管脚映射:
串口
RX PC3
TX PC2
LED
S0
S1
beep
新的模块默认厂家设置的波特率是57600,修改波特率到115200。
根据厂家给出的协议,波特率设置使用查表方式。设置的波特率等于9600的整数倍;
115200 ÷ 9600=12= 0X0C
设置指令格式:
EF 01 FF FF FF FF 01 00 05 0E 04 0C 00 24
校验和等于:01 + 05 + 0E +04 + 0C = 00 24
读取寄存器:
EF 01 FF FF FF FF 01 00 03 0F 00 13
这里使用串口助手设置:
设置完成以后重新上电模块,波特率调整至115200;
读取手指图像
EF 01 FF FF FF FF 01 00 03 01 00 05
成功生成特征
EF 01 FF FF FF FF 01 00 04 02 01 00 08 // 生成缓冲区1的特征
读取指纹图像
EF 01 FF FF FF FF 01 00 03 01 00 05
成功生成特征
EF 01 FF FF FF FF 01 00 04 02 02 00 09 // 生成缓冲区2的特征
对比两次指纹的特征
EF 01 FF FF FF FF 01 00 03 03 00 07 // 对比两次指纹的特征
EF 01 FF FF FF FF 07 00 05 00 00 // 返回正确值
对比成功生成指纹模板
EF 01 FF FF FF FF 01 00 03 05 00 09 // 合并特征(生成模板)
EF 01 FF FF FF FF 07 00 03 00 00 // 返回正确值
储存指纹模板
EF 01 FF FF FF FF 01 00 06 06 02 00 01 00 10 // 存模板 讲第二缓冲区的数据储存到第一个flash上 数据长度15
EF 01 FF FF FF FF 07 00 03 00 00 // 返回正确值
储存图像完成
读取手指图像
EF 01 FF FF FF FF 01 00 03 01 00 05
成功生成特征
EF 01 FF FF FF FF 01 00 04 02 01 00 08 // 生成缓冲区1的特征
根据特征搜索指纹库
EF 01 FF FF FF FF 01 00 08 1B 01 00 00 00 63 00 88 // 快速搜索 搜索缓冲区1中的指纹 从起始页0开始搜索99页 数据长度17
唯一正确的返回值:
EF 01 FF FF FF FF 07 07 00 .. .. .. .. .. ..
搜索成功
根据ID删除指纹
成功
删除全部指纹库
成功
1、开机按下复位键;
2、手指放在指纹模块上;
3、按下S0按钮;
4、等待蜂鸣器鸣叫,第一次录入指纹完成,拿起手指。如果没有鸣叫,但是灯光全亮代表指纹录取失败;需要回到第一步重新操作;
5、手指放在模块上;
6、按下S0按钮;
7、等待蜂鸣器鸣叫,完成第二次录制指纹,如果失败重新回到第一步;
8、随即有第三次蜂鸣器鸣叫,代表录入指纹完成。如果失败灯全亮。回到第一步;
录入图像指令 PS_GetImage
EF 01 FF FF FF FF 01 00 03 01 00 05
正确返回值:
EF 01 FF FF FF FF 07 00 03 00 .. .. // 正确的 通用返回值
EF 01 FF FF FF FF 07 00 03 01 .. .. // 接收错误
EF 01 FF FF FF FF 07 00 03 02 .. .. // 传感器上无手指
EF 01 FF FF FF FF 07 00 03 03 .. .. // 录入失败
生成特征指令:
EF 01 FF FF FF FF 01 00 04 02 01 00 08 // 生成缓冲区1的特征
EF 01 FF FF FF FF 01 00 04 02 02 00 09 // 生成缓冲区2的特征
返回值:
EF 01 FF FF FF FF 07 00 03 00 .. .. // 正确的 通用返回值
EF 01 FF FF FF FF 07 00 03 01 .. .. // 接收错误
EF 01 FF FF FF FF 07 00 03 02 .. .. // 传感器上无手指
EF 01 FF FF FF FF 07 00 03 03 .. .. // 录入失败
对比两次指纹的特征
PS_Match:
EF 01 FF FF FF FF 01 00 03 03 00 07 // 对比两次指纹的特征
唯一正确返回值:
EF 01 FF FF FF FF 07 00 05 00 .. .. .. .. .. .. // 通用返回值 03
PS_RegModel :
EF 01 FF FF FF FF 01 00 03 05 00 09 // 合并特征(生成模板) 数据长度12
唯一正确返回值:
EF 01 FF FF FF FF 07 00 03 00 .. .. .. .. .. .. // 通用返回值 03
PS_StoreChar:
EF 01 FF FF FF FF 01 00 06 06 ID 00 IS sum1 sum2 // 存模板
EF 01 FF FF FF FF 01 00 06 06 ID 00 IS sum1 sum2 // 存模板
将CharBuffer1 或CharBuffer2中的模板文件存到PageID号, 这里存第二次的
EF 01 FF FF FF FF 01 00 06 06 02 00 01 00 10 // 存模板 讲第二缓冲区的数据储存到第一个flash上 数据长度15
唯一正确的返回值:
EF 01 FF FF FF FF 07 00 03 00 .. .. .. .. .. .. // 通用返回值 03
开机后按一次复位键;
把手指放在指纹模块上;
按下按钮S1;
如果蜂鸣器鸣叫代表识别到了指纹;
如果灯光显示全亮代表没有识别到指纹;
前面两个步骤的操作和录入指纹相同,分别是:录入图像、生成特征储存在缓存区1;
PS_HighSpeedSearch
EF 01 FF FF FF FF 01 00 08 1B 01 00 00 00 63 00 88 // 快速搜索 搜索缓冲区1中的指纹 从起始页0开始搜索99页 数据长度17
唯一正确的返回值:
EF 01 FF FF FF FF 07 00 07 00 .. .. .. .. .. .. // 通用返回值 07
PS_DeletChar
EF 01 FF FF FF FF 01 00 07 0C 00 01 00 01 00 16 // 删除指纹 删除指纹库中从ID=1开始的第一个指纹 指令长度 16
唯一正确的返回值:
EF 01 FF FF FF FF 07 00 03 00 .. .. .. .. .. .. // 通用返回值 03
PS_Empty
EF 01 FF FF FF FF 01 00 03 0D 00 11 // 删除flash中的全部指纹 指令长度12
唯一正确的返回值:
EF 01 FF FF FF FF 07 00 03 00 .. .. .. .. .. .. // 通用返回值 03
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。