📄 fprs.h
字号:
/**************************************************************************************************
Module : FPRS -- Finger Print Recognition System.
Version : 1.0
Dependencies : 1. Serial.h
Description : This module is to interface Finger Print Sensor with the microcontroller.
Author : K. KARTHIKEYAN , S.R.Labs, Hyd., India.
All rights reserved with the author.
***************************************************************************************************/
# ifndef __FPRS_H__
# define __FPRS_H__
//# include "SerialV1.h"
/******************************************************************************** MACRO DEFINITIONS */
void SendFprsCmd(unsigned char ucChannel, unsigned char ucCmd, unsigned int uiParam1, unsigned int uiParam2);
void GetFprsData(unsigned char *ucChannel, unsigned char *ucCmd, unsigned int *uiParam1, unsigned int *uiParam2);
unsigned char FprsConnect(void);
unsigned char ReadFingerPrint(void);
unsigned char IsAlnum(unsigned char ucCh);
unsigned char gucRxCount = 0;
unsigned char gucConnectAckCount = 0;
unsigned char gucIdentifyCount = 0;
unsigned char gucConnectAck = 0;
unsigned char gucIdentifyAck = 0;
unsigned char gucFpIdentified = 0;
unsigned char gucFpId[10];
unsigned char gucFprsState = 0;
unsigned char gucCh = 0;
unsigned char gucRxBuf[30];
unsigned char gucTemp[5];
/*****************************************************************************************************/
void serial0() interrupt 4
{
if(RI == 1)
{
gucCh = SBUF;
gucRxBuf[gucRxCount] = gucCh;
gucRxCount++;
RI = 0;
}
}
/*****************************************************************************************************/
void FprsInit(void)
{
unsigned int i;
gucRxCount = 0;
gucConnectAck = 0;
gucConnectAckCount = 0;
gucIdentifyAck = 0;
gucFpId[0] = 0;
gucFpId[1] = 0;
gucFpId[2] = 0;
gucFprsState = 0;
gucCh = 0;
gucIdentifyCount = 0;
gucFpIdentified = 0;
for(i = 0; i < 25; i++)
gucRxBuf[i] = 0x00;
}
/*****************************************************************************************************/
unsigned char FprsConnect(void)
{
# define OFF_SET_VALUE 0x00
unsigned int i,j;
SerialPutc(0x01 + OFF_SET_VALUE);
SerialPutc(0x00 + OFF_SET_VALUE);
SerialPutc(0x00 + OFF_SET_VALUE);
SerialPutc(0x00 + OFF_SET_VALUE);
SerialPutc(0x00 + OFF_SET_VALUE);
SerialPutc(0x00 + OFF_SET_VALUE);
SerialPutc(0x00 + OFF_SET_VALUE);
for(i = 0; i < 5; i++)
for(j = 0; j < 40000; j++);
return gucConnectAck;
}
/*****************************************************************************************************/
unsigned char ReadFingerPrint(void)
{
# define OFF_SET_VALUE 0x00
unsigned int i,j;
SerialPutc(0x12 + OFF_SET_VALUE);
SerialPutc(0x00 + OFF_SET_VALUE);
SerialPutc(0x00 + OFF_SET_VALUE);
SerialPutc(0x00 + OFF_SET_VALUE);
SerialPutc(0x00 + OFF_SET_VALUE);
SerialPutc(0x00 + OFF_SET_VALUE);
SerialPutc(0x00 + OFF_SET_VALUE);
for(i = 0; i < 10; i++)
for(j = 0; j < 40000; j++);
LcdInit();
gucFpIdentified = 0;
if(IsAlnum(gucFpId[0]))
{
if(IsAlnum(gucFpId[1]))
{
if(IsAlnum(gucFpId[2]))
{
gucFpIdentified = 1;
}
}
}
return gucFpIdentified;
}
/********************************************************************************/
unsigned char IsAlnum(unsigned char ucCh)
{
if( ((ucCh >= 'A') && (ucCh <= 'Z')) || ((ucCh >= 'a') && (ucCh <= 'z')) || ((ucCh >= '0') && (ucCh <= '9')))
return 1;
else
return 0;
}
/********************************************************************************/
# endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -