AS608指纹识别模块+STM32实现指纹录入

2023-11-03

视频演示

d9148ed412b24119db81eef6c2c8e9ec

1.特性参数 (资料来自ALIENTEK文档)
在这里插入图片描述

ATK-AS608 指纹识别模块是 ALIENTEK 推出的一款高性能的光学指纹识别模块。

ATK-AS608 模块采用了国内著名指纹识别芯片公司杭州晟元芯片技术有限公司(Synochip)

的 AS608 指纹识别芯片。芯片内置 DSP 运算单元,集成了指纹识别算法,能高效快速采集

图像并识别指纹特征。模块配备了串口、USB 通讯接口,用户无需研究复杂的图像处理及

指纹识别算法,只需通过简单的串口、USB 按照通讯协议便可控制模块。本模块可应用于

各种考勤机、保险箱柜、指纹门禁系统、指纹锁等场合。

2.硬件接口

模块接口采用 8 芯 1.25 mm 间距单排插座,PCB 如图 2.1.1 所示。模块内部内置了手指

探测电路,用户可读取状态引脚(WAK)判断有无手指按下。

在这里插入图片描述

模块引脚描述

在这里插入图片描述

引脚连接文字说明

1.VI --》3.3V
2.TX–》RX
3.RX–》TX
4.GND–》GND
5.WAK–》IO口(设置为下拉,触摸后输出高电平)
6.VT–》3.3V
7.不接
8.不接

软件部分

软件移植的是正点原子的源码,由于触摸屏成本教高,改成了oled显示,代码只是简单的完成了比对流

程,后面的大家可以二次编写(资料免费分享)

部分源码分享

int main(void)
{    
	u8 ensure;
	u8 key_num;
	char *str;	
	vu8 key=0;
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
	delay_init();  	//初始化延时函数
	uart_init(115200);	//初始化串口1波特率为115200,用于支持USMART
	usart2_init(usart2_baund);//初始化串口2,用于与指纹模块通讯
	PS_StaGPIO_Init();	//初始化FR读状态引脚
	OLED_Init();  //oled初始化
	OLED_Clear();//清屏
	BEEP_Init();  			//初始化蜂鸣器
	KEY_Init();					//按键初始化 			
	usmart_dev.init(72);		//初始化USMART
	my_mem_init(SRAMIN);		//初始化内部内存池 
	exfuns_init();			//为fatfs相关变量申请内存  
 	f_mount(fs[1],"1:",1);  //挂载FLASH.	
    oledkaiji();  //oled开机画面
	delay_ms(400);
	while(PS_HandShake(&AS608Addr))//与AS608模块握手
	{
		delay_ms(400);
		as06test();
		delay_ms(800);
		as06test2();		  
	}
	as06test3();
	str=mymalloc(SRAMIN,30);
	sprintf(str,"波特率:%d   地址:%x",usart2_baund,AS608Addr);
	ensure=PS_ValidTempleteNum(&ValidN);//读库指纹个数
	if(ensure!=0x00)
	ShowErrMessage(ensure);//显示确认码错误信息	
	ensure=PS_ReadSysPara(&AS608Para);  //读参数 
	
	if(ensure==0x00)
	{
		mymemset(str,0,50);
		sprintf(str,"库容量:%d     对比等级: %d",AS608Para.PS_max-ValidN,AS608Para.PS_level);
		Show_Str(0,80,240,16,(u8*)str,16,0);
	}
	else
	ShowErrMessage(ensure);	
	myfree(SRAMIN,str);
	while(1)
	{
	   key=KEY_Scan(0);	//得到键值
			if(key==3) 
			Del_FR();		//删指纹
			if(key==2)
			Add_FR();		//录指纹									
		
		if(PS_Sta)	 //检测PS_Sta状态,如果有手指按下
		{
			press_FR();//刷指纹			
		}				 
	} 	
}

全部工程免费分享

技术交流qq群

721421120(一群)

864292349(二群)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AS608指纹识别模块+STM32实现指纹录入 的相关文章

  • 为什么无符号类型在arm cpu中效率更高?

    我正在阅读手臂手册并提出这个建议 但没有提到原因 为什么无符号类型更快 在 ARMv4 之前 ARM 没有对加载半字和有符号字节的本机支持 要加载有符号的字节 你必须LDRB然后对值进行符号扩展 LSL那就起来吧ASR它回落 这很痛苦所以c
  • 多核ARM cpu上的中断如何工作

    这个问题已经针对 x86 得到了解答 但是 我找不到太多关于 ARM MP cpu 如 Cortex A9 Cortex A15 等 的信息 更重要的是我想知道是否可以在非主CPU上引发中断而无需任何配置等 我正在开发一款仅处理主 cpu
  • GNU Arm Cortex m4 上的 C++ 异常处理程序与 freertos

    2016 年 12 月更新现在还有一个关于此行为的最小示例 https community nxp com message 862676 https community nxp com message 862676 我正在使用带有 free
  • 嵌入式 C++ (ARM9) 单元测试

    我来自 Java 和 JUnit 的世界 我演示了 Hudson 以及我使用 JUnit 取得的所有成果 我想在嵌入式设备上对 C 代码执行相同的操作 但找不到从哪里开始 该项目使用 iccarm exe IAR 编译器 进行编译 现在使用
  • 警告:可加载部分“my_section”位于 ELF 段之外

    我使用 Cortex R4 的 Arm Compiler v6 9 构建了一个 axf elf 文件 但是 当我使用 Arm MCU Eclipse J link GDB 插件将其加载到目标时 它无法加载我的段的初始化数据 如果我使用 Se
  • 将结构体偏移属性赋予汇编器

    如何将 C 结构体的偏移量发送到汇编代码 例如 在我的 C 代码中 typedef struct unsigned int a unsigned int b CMyStruct 我向 ASM 函数发送一个 CMyStruct 结构的指针 假
  • 使用 gnueabihf 为 ARMv6 构建

    我尝试为 ARMv6 构建应用程序 但失败了 我猜问题是工具链支持硬浮点 但 ARMv6 不支持 好吧 首先我设置 march armv6 编译失败 opt gcc linaro arm linux gnueabihf 4 8 2014 0
  • ARM Neon:如何从 uint8x16_t 转换为 uint8x8x2_t?

    我最近发现了关于vreinterpret q dsttype src类型转换运算符 https stackoverflow com a 43519190 2436175 但是 这似乎不支持所描述的数据类型的转换这个链接 http infoc
  • ARM 汇编分支到寄存器或内存内部的地址

    我想知道在 ARM 汇编中我可以使用哪条指令分支到存储在某个内存地址中的地址或标签 例如 我们可以使用B LABEL来跳转到LABEL 但现在目的地只能在运行时知道 并且它存储在某个已知的内存位置 是否有类似 B 地址 的东西 Thanks
  • 使用 ARM NEON 内在函数添加 alpha 和排列

    我正在开发一个 iOS 应用程序 需要相当快地将图像从 RGB gt BGRA 转换 如果可能的话 我想使用 NEON 内在函数 有没有比简单分配组件更快的方法 void neonPermuteRGBtoBGRA unsigned char
  • 小型 ARM 微控制器的 RTOS 内核之间的可量化差异 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有许多不同的 RTOS 可用于微控制器 我专门寻找支持 ARM Cortex M 处理器的 RTOS 另外 我对闭源解决方案不感兴趣 试图从网站
  • 哪些变量类型/大小在 STM32 微控制器上是原子的?

    以下是 STM32 微控制器上的数据类型 http www keil com support man docs armcc armcc chr1359125009502 htm http www keil com support man d
  • ARM架构中不同处理器模式下如何使用内核堆栈?

    据我了解 每个进程都有一个用户堆栈和内核堆栈 除此之外 ARM 架构中的每种模式都有一个堆栈 所以我想知道不同的堆栈和堆栈指针在 ARM 模式下如何工作 另外 何时会使用与进程关联的内核堆栈 何时会使用与进程关联的内核堆栈 当您进行系统调用
  • 如何使用 gcc 编译代码和 ARM Cortex A8 目标进行调用图分析?

    我对这个已经咬牙切齿了 我需要在 ARM 板上进行分析并需要查看调用图 我尝试使用 OProfile Kernel perf 和 Google 性能工具 一切正常 但不输出任何调用图信息 这使我得出结论 我没有正确编译代码 我在编译 C 代
  • 读取和打印手臂组件中的字符串

    我正在使用 ARMSim 刚刚开始学习汇编 所以如果我看起来一无所知 请原谅我 但我正在尝试从输入文件中读取字符串 然后将其打印到输出屏幕 到目前为止我有 equ SWI Open 0x66 open a file equ SWI Clos
  • 尝试使用 qemu-arm 运行arm二进制文件时如何解决“加载共享库时出错”?

    我正在运行 Linux Mint 14 并安装了 qemu qemu user 和 gnueabi 工具链 我编译了 test carm linux gnueabi gcc test c o test 当我尝试跑步时qemu arm usr
  • 交叉编译 Qt 4.7 时出现“非法指令”

    我已经在这个问题上苦苦挣扎了一个多星期了 但仍然找不到解决方案 我正在尝试为 ARM 设备交叉编译 Qt 4 7 嵌入式开源版本 构建过程本身可以顺利完成 但生成的二进制文件似乎包含处理器无法理解的指令 构建主机是 i386 上的 Debi
  • 有没有办法在 Xcode 4 中为 ARM 而不是 Thumb 进行编译?

    如果有很多浮点运算正在进行 Apple 建议针对 ARM 进行编译 而不是针对拇指进行编译 我的整个应用程序几乎是一个大型浮点运算 iOS 应用程序开发工作流程指南中是这样说的 iOS 设备支持两种指令集 ARM 和 Thumb Xcode
  • 分析 Cortex-M7 (stm32f7) 上的 memcpy 性能

    简洁版本 从 GNU ARM 工具链中提取的 memcpy 的性能指标在 ARM Cortex M7 上对于不同的副本大小似乎差异很大 即使复制数据的代码始终保持不变 这可能是什么原因造成的 长版 我是使用 GNU Arm 工具链 11 2
  • 如何模拟ARM处理器运行环境并加载Linux内核模块?

    我尝试加载我的vmlinux into gdb并使用 ARM 内核模拟器 但我不明白为什么我会得到Undefined target command sim 这是外壳输出 arm eabi gdb vmlinux GNU gdb GDB 7

随机推荐

  • 微软customvision在线图片分类器使用

    参考 https zhuanlan zhihu com p 28820161 customvision官网 https www customvision ai 注册了可以自己建立新项目 创建自己需要的图片分类器 训练好模型后可以调用api进
  • Linux+设计模式

    目录标题 Linux常用命令 常用的50个 服务器文件复制 查看端口占用 查看进程信息 内存占用率 Linux的管道原理 孤儿进程 僵尸进程 观察者模式 Linux常用命令 常用的50个 linux常用命令 50个 服务器文件复制 使用sc
  • 明尼苏达量表结果分析_明尼苏达多项人格测验(MMPI) 结果分析

    展开全部 MMPI测试 量表简介 俗称心理CT 对心32313133353236313431303231363533e78988e69d8331333238666363理健康和心理素质进行比较全面的测量 是正常人和心理障碍者都可以使用的心理
  • 架构制图--工具与方法论

    简介 软件工程也是工程 因此传统工程制图的一些基本理论 在软件行业同样适用 但另一方面 软件与实体制造业之间还是有着本质区别 所以在制图方面的需求和方式也大相径庭 无法直接套用 作为软件行业的从业者 你可以完全不懂工程制图 但你不得不懂架构
  • 程序员在国企的六年

    第一年 第二年 第三年 第四年 第五年 第六年 行了 我要接着写代码了
  • PHP自学---黑马程序员笔记【持续更新】

    视频 https www bilibili com video BV18x411H7qD p 3 目录 基础 1 静态网站访问原理 2 动态网站访问 3 C S B S 4 MySQL访问流程 5 PHP连接MySQL数据库 6 配置虚拟主
  • 多智能体强化学习基础知识(入门级)

    参考资料 王树森 深度强化学习 https github com wangshusen DRL
  • 使用python计算出矩形的面积

    w 4 h 5 print width w height h area area w h
  • mac如何创建mysql数据库

    使用mac创建mysql数据库十分简单 我们只需要按照以下步骤即可完成 首先 我们需要安装mysql 我们可以通过官网下载对应的安装包 或者通过Homebrew进行安装 接下来 我们需要启动mysql服务 在终端中输入以下命令 sudo m
  • 在钉钉上怎么手写_胖·评测|亲测!磐度A5数字纸笔手写板能适配多少直播平台?...

    停课不停学 各大科技企业纷纷推出各类教学平台吗 一时之间可谓百家争鸣 但是对于一线教师而言 除了为可怕的直播拥堵与繁琐的直播操作而头痛之外 一个更可怕的事实出现了 解题答疑 没有趁手的好工具怎么搞定各类公式 解题步骤的书写啊 胖胖老师今天就
  • 关于win10启动ubuntu报错

    关于win10启动ubuntu报错 错误类型 参考的对象类型不支持尝试的操作 问题描述 win10启动ubuntu报错 参考的对象类型不支持尝试的操作 解决方法 以管理员身份打开Windows PowerShell 然后执行netsh wi
  • 【状态估计】无迹卡尔曼滤波(UKF)应用于FitzHugh-Nagumo神经元动力学研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文献 1 概述 文献来源 本文综述了连续非线性动力系统噪
  • 动态链接,程序内部的共享单车

    前言 在之前说过 程序的编译过程是 编译 汇编 链接 前面的两种方式我们已经充分的理解过了 现在我们来说说我们的链接过程 我们很多时候要做到代码的复用 我们就需要链接不同的库 这么来说 我们链接的过程就有点像生活中标准化 模块化的生产 我们
  • 入门级题解14. 最长公共前缀

    题目 编写一个函数来查找字符串数组中的最长公共前缀 如果不存在公共前缀 返回空字符串 解题思路 比较 比较 挨个比较 横向比较实现过程 我有一个问题就是喜欢新设变量 之前链表也是 直接用题目中的 这里也是 先用s1做最长公共子串 第一步之后
  • 【代码审计】51 PHP项目类 RCE 文件包含和下载

    runaway xhcms 无框架 文件包含跨站 搜索或应用 include 找核心代码分析 通过搜索关键字echo 测试XSS漏洞 测试文件包含漏洞 earmusic 无框架 文件下载 搜索或应用功能 down 根据程序实现的功能猜测可能
  • Docker(12)CIG容器重量级监控系统

    文章目录 CIG是啥 CAdvisor 监控工具 InfluxDB Granfana CIG写入compose编排 CIG是啥 CAdvisor InfluxDB Granfana CIG CAdvisor 监控工具 CAdvisor是一个
  • How to print a c++ object members using GDB from an address if the object's class type is like A::B

    How to print a c object members using GDB from an address if the object s class type is like A B duplicate linux How to
  • vue的创建问题和axios问题

    文章思路来源于网络以及自己的尝试和理解 使用命令行执行vue相关的npm命令的前提 下载nodejs 版本不要太旧 下载nodejs时会自动下载npm的相关的包 并在安装nodejs时注意环境变量 特别时对npm的环境变量的添加 的添加 v
  • 【Nginx 】nginx的正则表达式

    1 nginx配置基础 1 正则表达式匹配 区分大小写匹配 不区分大小写匹配 和 分别为区分大小写不匹配及不区分大小写不匹配 以什么开头的匹配 以什么结尾的匹配 转义字符 可以转 等 代表任意字符 2 文件及目录匹配 f和 f用来判断是否存
  • AS608指纹识别模块+STM32实现指纹录入

    视频演示 d9148ed412b24119db81eef6c2c8e9ec 1 特性参数 资料来自ALIENTEK文档 ATK AS608 指纹识别模块是 ALIENTEK 推出的一款高性能的光学指纹识别模块 ATK AS608 模块采用了