文章目录

  • 1. 使用资源
  • 2. 实现思路简述
  • 3. 指纹测试代码
    • 3.1 部分代码介绍
    • 3.2 源码链接

1. 使用资源

  • stm32RCT6板子
  • AS608指纹模块

软件资源:

  • 串口二资源连接AS608 TX RX接线
  • AS608 wak线连接PA8设置外部中断触发检测是否有手指按下
    接线: 红-vi3.3v 黄-TX-PA3 白-RX-PA2 黑-GEND 蓝-wak-PA8 绿-Vt-3.3 这颜色只对应我手里的模块

2. 实现思路简述

指纹模块识别,需要录入指纹,然后在进行识别判断,那么怎么判断有手指按下呢?这里就需要外部中断实现,AS608的wak线连接指纹识别那里的电压,当有手指按下时,电压发生变化,触发外部中断,可以在中断里设个标志位,触发中断后置1,当判断有手指按下后,然后进行指纹识别对比等操作,这里外部中断设置为上升沿触发即可,因为当手指松开时还会有出现下降沿,而这时不需要触发中断

3. 指纹测试代码

3.1 部分代码介绍

串口初始化以及外部中断初始化:

void AS608_Config(void)
{GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure;USART_InitTypeDef USART_InitStructure;/*开启串口GPIO口的时钟*/RCC_APB2PeriphClockCmd(AS608_TouchOut_INT_GPIO_CLK,ENABLE);AS608_USART_GPIO_APBxClkCmd(AS608_USART_GPIO_CLK, ENABLE);/*打开串口外设的时钟*/AS608_USART_APBxClkCmd(AS608_USART_CLK, ENABLE);/* 配置 NVIC 中断*/NVIC_Configuration();/* TouchOut线用到的GPIO */    GPIO_InitStructure.GPIO_Pin = AS608_TouchOut_INT_GPIO_PIN;/* 配置为浮空输入 */    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(AS608_TouchOut_INT_GPIO_PORT, &GPIO_InitStructure);/* 选择EXTI的信号源 */GPIO_EXTILineConfig(AS608_TouchOut_INT_EXTI_PORTSOURCE, AS608_TouchOut_INT_EXTI_PINSOURCE); EXTI_InitStructure.EXTI_Line = AS608_TouchOut_INT_EXTI_LINE;/* EXTI为中断模式 */EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;/* 上升沿中断 */EXTI_InitStructure.EXTI_Trigger =EXTI_Trigger_Rising;/* 使能中断 */  EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);/*将USART Tx的GPIO配置为推挽复用模式*/GPIO_InitStructure.GPIO_Pin = AS608_USART_TX_GPIO_PIN;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(AS608_USART_TX_GPIO_PORT, &GPIO_InitStructure);/*将USART Rx的GPIO配置为浮空输入模式*/GPIO_InitStructure.GPIO_Pin = AS608_USART_RX_GPIO_PIN;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(AS608_USART_RX_GPIO_PORT, &GPIO_InitStructure);/*配置串口的工作参数*//*配置波特率*/USART_InitStructure.USART_BaudRate = AS608_USART_BAUDRATE;/*配置 针数据字长*/USART_InitStructure.USART_WordLength = USART_WordLength_8b;/*配置停止位*/USART_InitStructure.USART_StopBits = USART_StopBits_1;/*配置校验位*/USART_InitStructure.USART_Parity = USART_Parity_No ;/*配置硬件流控制*/USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;/*配置工作模式,收发一起*/USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;/*完成串口的初始化配置*/USART_Init(AS608_USART, &USART_InitStructure);/*使能串口接收中断*/USART_ITConfig(AS608_USART, USART_IT_RXNE, ENABLE);  USART_ITConfig(AS608_USART, USART_IT_IDLE, ENABLE ); //使能串口总线空闲中断   /*使能串口*/USART_Cmd(AS608_USART, ENABLE); }

外部中断函数:

u8 press=0;
void AS608_TouchOut_IRQHandler(void)
{/*确保是否产生了EXTI Line中断*/if(EXTI_GetITStatus(AS608_TouchOut_INT_EXTI_LINE) != RESET) {press=1;    EXTI_ClearITPendingBit(AS608_TouchOut_INT_EXTI_LINE);   }
}

3.2 源码链接

这里放的源码为野火的,功能比较齐全,我自己的源码是在上面进行删减的

链接: https://pan.baidu.com/s/1FMo1N-CQGrksOW9c7Oypyw 提取码: 4tag

串口输出:

(4) STM32 AS608指纹识别模块测试代码相关推荐

  1. 基于STM32的多功能门禁系统(AS608指纹识别、密码解锁、刷卡解锁)

    目录 一.项目功能 二.视频 三.原理图 4.材料选择 5.部分程序 资料下载地址:基于STM32的多功能门禁系统 一.项目功能 1.AS608指纹解锁:可以录入.删除.验证指纹: 2.密码解锁:可以 ...

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

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

  3. 硬件速攻-AS608指纹识别模块

    简介 AS608指纹识别模块是一种小型化.低功耗.高精度的指纹识别模块.它采用了高速DSP处理器和先进的算法,可以快速.准确地完成指纹图像的采集和识别. 这个指纹识别模块内部集成了指纹传感器.处理器. ...

  4. 基于树莓派实现AS608指纹识别

    基于树莓派实现AS608指纹识别 1.展示效果 1.1.按压手指 1.2.录入手指 1.3.匹配成功 注意:别人只是实现基本功能,还有许多的功能依葫芦画瓢自己加进去就行了. 2.具体过程 2.1.连接 ...

  5. 【HaaS Python硬件积木】AS608指纹识别模块 打造指纹门禁 开门有手就行

    一.产品简介 ATK-AS608指纹识别模块是ALIENTEK推出的一款高性能的光学指纹识别模块.它采用的是指纹识别芯片公司杭州晟元芯片技术有限公司生产的AS608指纹识别芯片.该芯片内置DSP运算单 ...

  6. ESP32开发之旅——AS608指纹识别模块

    ESP32开发之旅--AS608指纹识别模块) 前言 本文中,您将了解到如何使用ESP32调用AS608指纹识别模块. 需要注意的是,本文中的ESP32是使用Micro Python进行开发的,(同时 ...

  7. 基于STM32的指纹识别智能锁设计

    本设计是基于stm32的指纹识别智能锁设计,主要实现以下功能: 1,OLED显示输入锁的状态,解锁状态,开锁成功,开锁失败,确定,清除 2,通过矩阵键盘输入开门密码.修改密码.确认密码等操作: 3,可 ...

  8. AS608指纹识别模块(树莓派)

    0.前言 Github项目地址:AS608 项目实现了官方用户开发手册中所有列出的功能,函数声明在 as608.h中.用户可直接调用相应的函数与AS608模块进行通信. 另外,项目中有一个命令行程序, ...

  9. 基于stm32的指纹识别系统设计与系统

    指纹识别系统设计与系统 详细功能模块描述: 1.系统硬件模块设计与实现: 指纹通过指纹识别模块采集处理:并将处理后的指纹特征值等以数据包的形式发给主控模块;主控模块发送指令包对指纹识别模块进行控制以及 ...

最新文章

  1. OpenAI推出数学推理证明模型,推理结果首次被数学家接受
  2. 从壹开始前后端分离 40 || 完美基于AOP的接口性能分析
  3. LeetCode周总结--第一周
  4. boost::intrusive::set用法的测试程序
  5. android 尺寸变化动画,Android ScaleAnimation类:尺寸变化动画类
  6. 【WC2008】【BZOJ1271】秦腾与教学评估(二分,前缀和,奇偶性乱搞)
  7. iOS 之 OBJECTC 调用C、OBJECTC调用C++
  8. VBA Excel 实践(三)Excel控件及Excel控件的初始化
  9. 第二代支付系统专题之报文篇(二)大额支付报文完整版(含二代新增功能业务说明)
  10. 都有哪些较好用的项目管理软件?
  11. mac安装pillow
  12. 分区助手扩大c盘后自动修复_C盘空间不足怎么办?分区助手教你如何扩大C盘
  13. 深度学习服务器?深度了解一下!
  14. java wgs84 百度坐标,百度坐标转WGS84(即GPS)坐标
  15. Netflix和它的混世猴子
  16. 通过关键字查询地理坐标(天地图)
  17. docker使用教程
  18. Android开发笔记(一百零八)智能语音
  19. UE4 蒙太奇 组合动画
  20. 项目文件模板-项目章程

热门文章

  1. python在手机上可以画图吗_python简单画图教程!python怎么在屏幕上画图
  2. WPF: WPF 中的 Triggers 和 VisualStateManager
  3. 数据结构实验报告,二叉树的基本操作(C语言)
  4. 博客匿名评论功能正式上线了!
  5. c++中的 templateclass Type
  6. 【数学建模】“一口价”的战略(博弈模型)
  7. 虚函数,虚函数表,虚函数实现原理,虚函数实现机制,虚函数解决的问题
  8. inventor安装未完成,某些产品无法安装的解决方法
  9. 利用栈将递归转换为非递归的方法
  10. mac电脑升级Monterey12.1版之后L2TP连接公司内网后无法正常访问的问题解决