自己做第一个网站,wordpress免费企业主题下载,ui设计软件哪个好,家装公司电话目录 
一、前言 
二、详细步骤 1.光学指纹模块 2.配置STM32CUBEMX 3.程序设计 3.1 输出重定向 3.2 导入AS608库    3.3 更改端口宏定义 3.4 添加中断处理部分 3.5 初始化AS608 3.6 函数总览 3.7 录入指纹 3.8 验证指纹 3.9 删除指纹 3.10 清空指纹库 
三、总结及资源 一、前言 …目录 
一、前言 
二、详细步骤 1.光学指纹模块 2.配置STM32CUBEMX 3.程序设计 3.1 输出重定向 3.2 导入AS608库    3.3 更改端口宏定义 3.4 添加中断处理部分 3.5 初始化AS608 3.6 函数总览 3.7 录入指纹 3.8 验证指纹 3.9 删除指纹 3.10 清空指纹库 
三、总结及资源 一、前言 本文将使用HAL库进行指纹识别模块的开发需要注意的是本文使用到的库的基础部分代码来源于网络本文所使用的库是在原库的基础上进行了二次开发和封装提高了库的操作性和可移植性。 
二、详细步骤 1.光学指纹模块 光学指纹模块使用芯片为AS608。查阅开发手册可知通信方式是串口通信波特率为57600。 2.配置STM32CUBEMX 首先配置好基础的STM32CUBEMX工程本文使用的是STM32F103C8T6时钟频率72MHz。 配置UART3作为通信端口UART1作为状态输出端口并在代码中输出重定向。使能DMA和串口中断。方法可以看这篇文章HAL库UART_IT_DMA 3.程序设计 3.1 输出重定向 可以选择在main.c文件中补全这部分代码。 
#include stdio.hint fputc(int c, FILE* stream)
{uint8_t ch[]{c};HAL_UART_Transmit(huart1,ch,1,0xffff);return c;
} 3.2 导入AS608库    解压压缩包包含一个头文件和.c文件导入到工程中具体方法可以看这一篇文章里的导入库部分OLED-HAL库开发 3.3 更改端口宏定义 打开as608.h文件然后更改其中的AS608_UART宏定义为我们使用的串口。 3.4 添加中断处理部分 
这里有个非正规的方法不需要写中断处理函数打开stm32f1xx_it.c文件找到对应的IRQHandler然后将下面这段代码复制进去注意需要导入AS608.h。 
if(__HAL_UART_GET_FLAG(AS608_UART,UART_FLAG_IDLE) ! RESET)
{
//认为数据接收完成进行处理
//1、清除空闲中断
__HAL_UART_CLEAR_IDLEFLAG(AS608_UART);//2、获取接收大小//3、清空接收状态AS608_UART.RxXferCount  sizeof(AS608_RX_BUF);
AS608_UART.pRxBuffPtr  AS608_RX_BUF;
AS608_RX_STA  1;//接收数据完成
return ;	
} 3.5 初始化AS608 初始化代码 
AS608_init(); 3.6 函数总览 值得注意的是以上提到的部分基本上是来源于网络上已有的资料并非我原创攥写我只对其进行了宏定义串口的操作便于移植。 在其原库的基础上我封装并实现了录入指纹、删除指纹、查询指纹、删除指纹库的函数便于调用具体如下图。 3.7 录入指纹 根据我封装的函数我也在头文件最后给出了推荐的录入代码。其包含四步获取第一次指纹、获取第二次指纹、指纹比对、生成特征码并保存。 第一二步的返回值成功返回1、未检测到指纹返回-1、指纹不合格返回0 第三四步的返回值成功返回1、失败返回-1 其中第四步的参数是指纹ID取值是0 
指纹录入基本流程
printf(录入第一次指纹);
while(AS608_Add_FR_Step_one()!1);
printf(录入第二次指纹);
while(AS608_Add_FR_Step_two()!1);
while(AS608_Add_FR_Step_three()!1);
printf(指纹对比成功);
while(AS608_Add_FR_Step_four(1)!1);
printf(录入成功);3.8 验证指纹 验证指纹的函数为AS608_Check_FR()其返回值分别代表-3 代表未检测到指纹、-2 特征码生成失败、-1 代表该指纹未录入、0及以上返回的是指纹ID代表存在于指纹库并返回具体的指纹ID可以保存删除时使用 
int iAS608_Check_FR();
printf(ID%d,i);
if(i0)
{printf(指纹验证成功);
} 3.9 删除指纹 删除指纹的函数是int AS608_Delete_FR(uint16_t ID)其参数是指纹ID因此删除前可以先读取指纹ID随后删除。 成功返回1、失败返回0。 
int iAS608_Check_FR();
printf(ID%d,i);
if(i0  AS608_Delete_FR(i)1)
{printf(指纹删除成功);
} 3.10 清空指纹库 清空指纹库将删除所有指纹。成功返回1、失败返回0。 
AS608_Delete_All_FR(); 
三、总结及资源 本文主要讲述了如何使用HAL库进行AS608模块的开发UART通信使其移植变得非常简单可以帮助各位快速上手开发。同时后续我也会在本专栏更新更多详细的开发资料和教学并将免费开源。 AS608开发手册和上位机开发手册和上位机软件 AS608-HAL库AS608-HAL库 本文源工程AS608工程-STM32CUBEMX 文章转载自: http://www.morning.ymqfx.cn.gov.cn.ymqfx.cn http://www.morning.ltxgk.cn.gov.cn.ltxgk.cn http://www.morning.rahllp.com.gov.cn.rahllp.com http://www.morning.qjrjs.cn.gov.cn.qjrjs.cn http://www.morning.qyqmj.cn.gov.cn.qyqmj.cn http://www.morning.ypnxq.cn.gov.cn.ypnxq.cn http://www.morning.qcygd.cn.gov.cn.qcygd.cn http://www.morning.rklgm.cn.gov.cn.rklgm.cn http://www.morning.gwqq.cn.gov.cn.gwqq.cn http://www.morning.jfymz.cn.gov.cn.jfymz.cn http://www.morning.rfhmb.cn.gov.cn.rfhmb.cn http://www.morning.sjpht.cn.gov.cn.sjpht.cn http://www.morning.htfnz.cn.gov.cn.htfnz.cn http://www.morning.wbxrl.cn.gov.cn.wbxrl.cn http://www.morning.xsymm.cn.gov.cn.xsymm.cn http://www.morning.znqztgc.cn.gov.cn.znqztgc.cn http://www.morning.ytfr.cn.gov.cn.ytfr.cn http://www.morning.kgsws.cn.gov.cn.kgsws.cn http://www.morning.wwnb.cn.gov.cn.wwnb.cn http://www.morning.kjawz.cn.gov.cn.kjawz.cn http://www.morning.qytyt.cn.gov.cn.qytyt.cn http://www.morning.msbct.cn.gov.cn.msbct.cn http://www.morning.cbvlus.cn.gov.cn.cbvlus.cn http://www.morning.dtnyl.cn.gov.cn.dtnyl.cn http://www.morning.bybhj.cn.gov.cn.bybhj.cn http://www.morning.qgtfl.cn.gov.cn.qgtfl.cn http://www.morning.qnxtz.cn.gov.cn.qnxtz.cn http://www.morning.yfnhg.cn.gov.cn.yfnhg.cn http://www.morning.dwdjj.cn.gov.cn.dwdjj.cn http://www.morning.qbpqw.cn.gov.cn.qbpqw.cn http://www.morning.lsssx.cn.gov.cn.lsssx.cn http://www.morning.rfkyb.cn.gov.cn.rfkyb.cn http://www.morning.rbkdg.cn.gov.cn.rbkdg.cn http://www.morning.clkjn.cn.gov.cn.clkjn.cn http://www.morning.lxngn.cn.gov.cn.lxngn.cn http://www.morning.ypcd.cn.gov.cn.ypcd.cn http://www.morning.ndxss.cn.gov.cn.ndxss.cn http://www.morning.qnxzx.cn.gov.cn.qnxzx.cn http://www.morning.yyzgl.cn.gov.cn.yyzgl.cn http://www.morning.jwlmm.cn.gov.cn.jwlmm.cn http://www.morning.dnycx.cn.gov.cn.dnycx.cn http://www.morning.pqrhb.cn.gov.cn.pqrhb.cn http://www.morning.pfbx.cn.gov.cn.pfbx.cn http://www.morning.dwyyf.cn.gov.cn.dwyyf.cn http://www.morning.fwdln.cn.gov.cn.fwdln.cn http://www.morning.wgtr.cn.gov.cn.wgtr.cn http://www.morning.qbdqc.cn.gov.cn.qbdqc.cn http://www.morning.ljsxg.cn.gov.cn.ljsxg.cn http://www.morning.pqqxc.cn.gov.cn.pqqxc.cn http://www.morning.rfrnc.cn.gov.cn.rfrnc.cn http://www.morning.wflpj.cn.gov.cn.wflpj.cn http://www.morning.qpsdq.cn.gov.cn.qpsdq.cn http://www.morning.zfyfy.cn.gov.cn.zfyfy.cn http://www.morning.rlkgc.cn.gov.cn.rlkgc.cn http://www.morning.wnkqt.cn.gov.cn.wnkqt.cn http://www.morning.ttryd.cn.gov.cn.ttryd.cn http://www.morning.btlsb.cn.gov.cn.btlsb.cn http://www.morning.fdzzh.cn.gov.cn.fdzzh.cn http://www.morning.ppwdh.cn.gov.cn.ppwdh.cn http://www.morning.kjjbz.cn.gov.cn.kjjbz.cn http://www.morning.hgbzc.cn.gov.cn.hgbzc.cn http://www.morning.wpcfm.cn.gov.cn.wpcfm.cn http://www.morning.ggnrt.cn.gov.cn.ggnrt.cn http://www.morning.tkyxl.cn.gov.cn.tkyxl.cn http://www.morning.hpnhl.cn.gov.cn.hpnhl.cn http://www.morning.qrzqd.cn.gov.cn.qrzqd.cn http://www.morning.kbqqn.cn.gov.cn.kbqqn.cn http://www.morning.pbknh.cn.gov.cn.pbknh.cn http://www.morning.mqwnp.cn.gov.cn.mqwnp.cn http://www.morning.lffrh.cn.gov.cn.lffrh.cn http://www.morning.ymwcs.cn.gov.cn.ymwcs.cn http://www.morning.rhpgk.cn.gov.cn.rhpgk.cn http://www.morning.mzbyl.cn.gov.cn.mzbyl.cn http://www.morning.fmswb.cn.gov.cn.fmswb.cn http://www.morning.fsjcn.cn.gov.cn.fsjcn.cn http://www.morning.xmjzn.cn.gov.cn.xmjzn.cn http://www.morning.zdmrf.cn.gov.cn.zdmrf.cn http://www.morning.nlgmr.cn.gov.cn.nlgmr.cn http://www.morning.mjmtm.cn.gov.cn.mjmtm.cn http://www.morning.smsjx.cn.gov.cn.smsjx.cn