STM32+AS608指纹模块串口通讯
STM32+AS08指纹模块串口通讯
一. 使用硬件:
-
stm32F103 -mini stm32开发板+AS608指纹模块+usb转串口
-
实物图:
-
硬件接线:
注意:usb转串口线是连接串口1即PA9,PA10引脚的,并接上VCC、GND提供电源
二. AS068工作流程:
As068模块驱动采用的是正点原子公司提供的As068.c及As068.h文件,具体as068工作流程及指令看文档信息!
正式声明,该例程是基于正点原子的代码移植而来的。
三、本人的代码思路流程:
1.原子哥的代码是采用LCD屏幕显示的,所以我们只需将LCD屏幕显示改为串口打印即可。加上本人一些改编:
(1)死循环中,不断扫描按键,这里利用if语句做出判断,如果按下key0,表示需要删除
指纹信息,若按下key1,表示需要录入指纹信息。如若无按键按下,单纯指纹识别,则将手指放上指纹模块上,即可识别出该指纹与指纹库中是否有对应的信息。
(2)录入指纹,通过key1按下,表示需要录入指纹,按下后,串口打印信息提示按下指纹,第一次确认后,再一次按下手指,然后进行对比,生成特征版本,串口在提示将该模板存储的位置,然后通过串口助手输入要存储的位置(0<a<300);
(3)删除指纹,通过key0按下,表示需要删除指纹,按下后,串口提示输入删除指纹的位置,输入对应位置,则删除对应的位置的指纹的信息。
四、实验现象:
(1)初始化打印AS608指纹模块信息:
(2)录入指纹信息:按下按键key1.每次录入指纹都会有提醒信息,如若超过5次没有反应,退出,继续等待按键按下。
(3).删除指纹信息:按下key0
五、实验过程自己遇到的问题(C语言学的不好):
1.第一个问题是板子接收串口助手发送的信息:该实验串口助手使用的是USART1,AS608使用的是USART2.。
该部分代码将接收串口助手发送的信息,由于串口缓冲区是数组类型,所以需要将接收到的数组信息转成int类型。
2.Sprintf()拼接函数
sprintf(str,“Match ID:%d Match score:%d”,seach.pageID,seach.mathscore);
将seach.pageID与,seach.mathscore拼接成str!
六、结束语:
由于整个工程过大,就上传到****有需要自己下载。