本文共 1940 字,大约阅读时间需要 6 分钟。
正点原子精英开发板
模块化封装,入口函数简明,易上手操作
展示main.c代码,完整代码请下载
录入指纹的上位机在压缩包里,录指纹时把显示图像的对勾去掉,还有就是指纹保存在模块里面,不是保存在单片机的内存卡里,不然让懂的人笑话,千万别接5V电源,模块会失灵或者坏掉,接线看不清楚模块标的什么的从左往右,从红线开始按照我写的依次接就行
#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开发板 作者:唯恋殊雨 CSDN博客:https://blog.csdn.net/tichimi3375 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();//刷指纹 } } }