基于stm32c8t6的as608指纹模块

演示视频:https://www.bilibili.com/video/BV1tC411n7x8/

代码汇总

主函数

查询网上的添加指纹的代码,进入不了状态机,后按照江科大的状态机写法,修改的代码。目前只能添加一个指纹。
main.c

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "LED.h"
#include "OLED.h"
#include "Timer.h"
#include "Serial.h"
#include "as608.h"
#include "usart2.h"
#include "sys.h"
#include "Servo.h"
#include "Key.h"
SysPara AS608Para;//指纹模块AS608参数
u16 ValidN;//模块内有效指纹个数
void press_FR(void);//刷指纹
void Add_FR(void);
void Del_FR(void);
int main(void)
{
   
	uint8_t KeyNum;
	myLED_Init();
	Servo_Init();
//	Servo_SetAngle(180);
	Servo_SetAngle(0);
	OLED_Init();
	PS_StaGPIO_Init();//初始化PA6读状态引脚
	Serial_Init();
	usart2_init();
	Key_Init();
	while(1)
	{
   	
		//Servo_SetAngle(60);
//		Del_FR();
		LED_OFF();
		OLED_ShowString(1,1,"NUM:");
		KeyNum = Key_GetNum();
		OLED_ShowNum(1,5,KeyNum,2);
		Delay_ms(100);
//		OLED_Clear();
		if(KeyNum)
		{
   
			if(KeyNum==1)
			{
   
				Add_FR();
			}
//			else
//			{
   
//				OLED_ShowString(2,1,"hhh");
//				Delay_ms(500);
//			}
		}
		
		if(KeyNum==2)
			{
   
				Del_FR();
			}
Del_FR();
		if(PS_Sta)
		{
   
			press_FR();
		}
	} 	
}



//刷指纹
void press_FR(void)
{
   
	SearchResult seach;
	u8 ensure;
	OLED_Clear();
	OLED_ShowString(1,1,"Press Finger");
	ensure=PS_GetImage();
	if(ensure==0x00)//获取图像成功 
	{
   	
		ensure=PS_GenChar(CharBuffer1);
		if(ensure==0x00) //生成特征成功
		{
   		
			ensure=PS_HighSpeedSearch(CharBuffer1,0,300,&seach);
			if(ensure==0x00)//搜索成功
			{
   				
				OLED_Clear();
				OLED_ShowString(1,1,"Find Finger");
				LED_ON();
				Servo_SetAngle(60);
			}
			else 
			{
   
				OLED_Clear();
				OLED_ShowString(1,1,"Unknow Finger")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值