OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11057|回复: 10

关于AS608指纹识别模块

[复制链接]

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2018-8-20
在线时间
6 小时
发表于 2018-8-22 14:51:27 | 显示全部楼层 |阅读模式
1金钱


#include "sys.h"


#include "delay.h"


#include "usart.h"


#include "lcd.h"


#include "key.h"


#include "beep.h"   


#include "malloc.h"   


#include "sdio_sdcard.h"      


#include "ff.h"  


#include "exfuns.h"   


#include "usart2.h"


#include "AS608.h"


#include "timer.h"


#include "led.h"


/************************************************


ALIENTEK精英STM32开发板         


vi-3.3V


Tx-PA3


Rx-PA2


GND-GND


WAK-PA6


Vt-3.3V


************************************************/  


#define usart2_baund  57600//串口2波特率,根据指纹模块波特率更改




SysPara AS608Para;//指纹模块AS608参数


u16 ValidN;//模块内有效指纹个数


u8** kbd_tbl;






int main(void)


{   


u8 ensure;


char *str;




NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2


delay_init();   //初始化延时函数


uart_init(115200); //初始化串口1波特率为115200,用于支持USMART


usart2_init(usart2_baund);//初始化串口2,用于与指纹模块通讯


PS_StaGPIO_Init(); //初始化FR读状态引脚


BEEP_Init();     //初始化蜂鸣器


KEY_Init();     //按键初始化  


LED_Init();


my_mem_init(SRAMIN);  //初始化内部内存池


exfuns_init();   //为fatfs相关变量申请内存  


  f_mount(fs[1],"1:",1);  //挂载FLASH.




/*加载指纹识别实验界面*/


printf("\r\nAS608指纹识别模块测试程序\r\n");


printf("\r\n与AS608模块握手....\r\n");


while(PS_HandShake(&AS608Addr))//与AS608模块握手


{


  delay_ms(400);


  printf("\r\n未检测到模块!!!\r\n");


  delay_ms(800);


  printf("\r\n尝试连接模块...\r\n");


}


printf("\r\n通讯成功!!!\r\n");


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);


}


else


  ShowErrMessage(ensure);


myfree(SRAMIN,str);


while(1)


{




  if(PS_Sta)  //检测PS_Sta状态,如果有手指按下


  {


   press_FR();//刷指纹   


  }     


}  


}


最佳答案

查看完整内容[请看2#楼]

不好意思,比较少上论坛。 第一点,main函数里录入指纹应该是要有条件,比如说按下某个按键则进入指纹录制。 第二点,看一下你的模块有没有使能引脚(CE或者CS或者其他标识的引脚),如果有的话,就好办了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2016-5-4
在线时间
58 小时
发表于 2018-8-22 14:51:28 | 显示全部楼层
alex9954 发表于 2018-8-23 13:13
好的谢谢您!另外我还有两个问题不知道您能不能解答一下:
1.如果在main函数中写了录入指纹,那是不是代 ...

不好意思,比较少上论坛。

第一点,main函数里录入指纹应该是要有条件,比如说按下某个按键则进入指纹录制。

第二点,看一下你的模块有没有使能引脚(CE或者CS或者其他标识的引脚),如果有的话,就好办了
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2018-8-20
在线时间
6 小时
 楼主| 发表于 2018-8-22 14:51:57 | 显示全部楼层
请问这段main函数代码 里面 保存指纹这一过程是如何体现的呢 我并没有看出来啊
回复

使用道具 举报

9

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2016-5-4
在线时间
58 小时
发表于 2018-8-22 15:26:35 | 显示全部楼层
有可能在这个函数里实现:

press_FR();//刷指纹   



比如判断刷到的指纹是管理员的指纹,在函数里可能会进入保存指纹的操作。仅供参考
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2018-8-20
在线时间
6 小时
 楼主| 发表于 2018-8-22 15:30:50 | 显示全部楼层
飘逸心晴 发表于 2018-8-22 15:26
有可能在这个函数里实现:

press_FR();//刷指纹   

刷指纹部分的代码是这样的,并没有那部分啊
void press_FR(void)
{
        SearchResult seach;
        u8 ensure;
        char *str;
        ensure=PS_GetImage();
        if(ensure==0x00)//»ñȡͼÏñ³É¹¦
        {       
                BEEP=1;//´ò¿ª·äÃùÆ÷       
               
                ensure=PS_GenChar(CharBuffer1);
                if(ensure==0x00) //Éú³ÉÌØÕ÷³É¹¦
                {               
                        BEEP=0;//¹Ø±Õ·äÃùÆ÷       
                        ensure=PS_HighSpeedSearch(CharBuffer1,0,AS608Para.PS_max,&seach);
                        if(ensure==0x00)//ËÑË÷³É¹¦
                        {                               

                                printf("\r\nË¢Ö¸ÎÆ³É¹¦\r\n");
                               
                                str=mymalloc(SRAMIN,50);
                                printf("\r\nÈ·ÓдËÈË,ID:%d\r\nÆ¥ÅäµÃ·Ö:%d\r\n",seach.pageID,seach.mathscore);
                                myfree(SRAMIN,str);
                                LED0=0;
                                delay_ms(100);
                                LED0=1;
                        }
                        else
                                ShowErrMessage(ensure);                                       
          }
                else
                        ShowErrMessage(ensure);
                BEEP=0;//¹Ø±Õ·äÃùÆ÷
         delay_ms(600);
        }
               
}
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2018-8-20
在线时间
6 小时
 楼主| 发表于 2018-8-22 15:33:28 | 显示全部楼层
飘逸心晴 发表于 2018-8-22 15:26
有可能在这个函数里实现:

press_FR();//刷指纹   

他那段程序是这样的,并不包含那种功能
TIM图片20180822153412.png
回复

使用道具 举报

9

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2016-5-4
在线时间
58 小时
发表于 2018-8-22 15:42:41 | 显示全部楼层
alex9954 发表于 2018-8-22 15:33
他那段程序是这样的,并不包含那种功能

建议把整个工程打包发上来
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2018-8-20
在线时间
6 小时
 楼主| 发表于 2018-8-22 15:51:05 | 显示全部楼层
飘逸心晴 发表于 2018-8-22 15:42
建议把整个工程打包发上来

就是这个

AS608唯恋殊雨.rar

8.42 MB, 下载次数: 9046

回复

使用道具 举报

9

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2016-5-4
在线时间
58 小时
发表于 2018-8-22 17:17:49 | 显示全部楼层

程序含有保存指纹的子函数,但是没有调用,该程序应该只是用来演示读取,没有演示保存,可自行调用。
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2018-8-20
在线时间
6 小时
 楼主| 发表于 2018-8-23 13:13:11 | 显示全部楼层
飘逸心晴 发表于 2018-8-22 17:17
程序含有保存指纹的子函数,但是没有调用,该程序应该只是用来演示读取,没有演示保存,可自行调用。

好的谢谢您!另外我还有两个问题不知道您能不能解答一下:
1.如果在main函数中写了录入指纹,那是不是代表我每次启动机器都需要录入指纹呢?如何能避免这一过程,只录入一次,以后再开机就只是进行识别了呢?
2.网上的都是单片机链接一个as608模块,我想连接多个模块,请问电路该怎样连接呢,程序相应的要有什么变化呢?或者我该怎么去查资料呢?
谢谢您,感激不尽!
回复

使用道具 举报

9

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2018-4-6
在线时间
31 小时
发表于 2018-8-23 13:21:22 | 显示全部楼层
str=mymalloc(SRAMIN,30);


sprintf(str,"波特率:%d   地址:%x",usart2_baund,AS608Addr);

从c语言的角度来说,这个应该是存储,你看一下,这个存在哪了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 05:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表