资源简介
网购的指纹模块附带的代码例程,注释很详细,清晰易懂。
代码片段和文件信息
#include “fingerprint.h“
//=========全局变量==========
//u8 gRsBuf[250]; //串行接收缓存
u8 gTxBuf[250]; //串行发送缓存
//u8 gRsLength;
//static void delay()
//{
// u16 i j;
// for (i = 0; i < 1000; i++)
// for(j = 0; j < 10000; j++);
//}
void TxByte(u8 temp)
{
USART_SendData(FG_UARTtemp);
while (USART_GetFlagStatus(FG_UART USART_FLAG_TXE) == RESET);
}
/*
** 函数名TxAndRsCmd
** 描述 :串口发送子程序向DSP发送数据
** 输入 :SCNT 发送字节数
RCNT 接收字节数
Delay 延时时间数
** 返回 :失败 ACK_FAIL
成功 ACK_SUCCESS
*/
u8 TxAndRsCmd(u8 Scnt u8 Rcnt u8 Delay)
{
u8 i j CheckSum;
u32 RsTimeCnt;
TxByte(CMD_HEAD); //标志头
CheckSum = 0;
for (i = 0; i < Scnt; i++)
{
TxByte(gTxBuf[i]);
CheckSum ^= gTxBuf[i];
}
TxByte(CheckSum);
TxByte(CMD_TAIL);
gRsLength = 0;
RsTimeCnt = Delay * 120000;
while (gRsLength < Rcnt && RsTimeCnt > 0)
RsTimeCnt--;
if (gRsLength != Rcnt)return ACK_TIMEOUT;//检验长度,如果不是就直接返回超时
if (gRsBuf[0] != CMD_HEAD) return ACK_FAIL;//校验包头,如果不是就直接返回错误码
if (gRsBuf[Rcnt - 1] != CMD_TAIL) return ACK_FAIL;//校验操作码,错误就返回操作吗
if (gRsBuf[1] != (gTxBuf[0])) return ACK_FAIL;
CheckSum = 0;
for (j = 1; j < gRsLength - 1; j++) CheckSum ^= gRsBuf[j];//校验数据包
if (CheckSum != 0) return ACK_FAIL;
return ACK_SUCCESS;
}
/*************************************BSP***********************************/
/*
**** BSP 供上一层的任务调用
**** YJF
**** 实现API
*/
/*
** 函数名GetUserCount
** 描述 :查询用户总数子程序
** 输入 :NULL
** 返回 :失败 API_ACK_FAIL
** 成功 用户总数
*/
u8 GetUserCount(void)
{
u8 m;
gTxBuf[0] = CMD_USER_CNT;
gTxBuf[1] = 0;
gTxBuf[2] = 0;
gTxBuf[3] = 0;
gTxBuf[4] = 0;
m = TxAndRsCmd(5 8 50);
if (m == ACK_SUCCESS && gRsBuf[4] == ACK_SUCCESS)
{
return gRsBuf[3];//最多256个缓存用户,已经够用了,后期需要做扩展
}
else
{
return API_ACK_FAIL;
}
}
/*
** 函数名GetcompareLevel
** 描述 :读取当前比对等级
** 输入 :NULL
** 返回 :失败 API_ACK_FAIL
** 成功 当前比较的等级
*/
u8 GetcompareLevel(void)
{
u8 m;
gTxBuf[0] = CMD_COM_LEV;
gTxBuf[1] = 0;
gTxBuf[2] = 0;
gTxBuf[3] = 1;
gTxBuf[4] = 0;
m = TxAndRsCmd(5 8 50);
if (m == ACK_SUCCESS && gRsBuf[4] == ACK_SUCCESS)
{
return gRsBuf[3];//0-9
}
else
{
return API_ACK_FAIL;
}
}
/*
** 函数名SetcompareLevel
** 描述 :配置比较的等级,数值越大,比较越严格
** 输入 :temp 0-9
** 返回 :失败 API_ACK_FAIL
** 成功 当前比较的等级
*/
u8 SetcompareLevel(u8 temp)
{
u8 m;
gTxBuf[0] = CMD_COM_LEV;
gTxBuf[1] = 0;
gTxBuf[2] = temp;
gTxBuf[3] = 0;
gTxBuf[4] = 0;
m = TxAndRsCmd(5 8 50);
if (m == ACK_SUCCESS && gRsBuf[4] == ACK_SUCCESS)
{
return gRsBuf[3];
}
else
{
return API_ACK_FAIL;
}
}
/*
** 函数名GetTimeOut
** 描述 :读取超时时间
** 输入 :NULL
** 返回 :失败 API_ACK_FAIL
** 成功 当前超时时间
*/
u8 GetTimeOut(void)
{
u8 m;
gTxBuf[0] = CMD_TIMEOUT;
gTxBuf[1] = 0;
gTxBuf[2] = 0;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-06-11 14:21 指纹模块\
目录 0 2017-06-11 14:21 指纹模块\BSP\
文件 10072 2015-10-08 12:21 指纹模块\BSP\fingerprint.c
文件 4313 2015-10-08 12:21 指纹模块\BSP\fingerprint.h
目录 0 2017-06-11 14:21 指纹模块\CORE\
文件 17273 2015-10-08 12:21 指纹模块\CORE\core_cm3.c
文件 85714 2015-10-08 12:21 指纹模块\CORE\core_cm3.h
文件 15503 2015-10-08 12:21 指纹模块\CORE\startup_stm32f10x_hd.s
文件 399 2015-10-08 12:21 指纹模块\keilkilll.bat
目录 0 2017-06-11 14:21 指纹模块\OBJ\
文件 3961 2015-10-08 12:21 指纹模块\OBJ\core_cm3.crf
文件 123 2015-10-08 12:21 指纹模块\OBJ\core_cm3.d
文件 11180 2015-10-08 12:21 指纹模块\OBJ\core_cm3.o
文件 248710 2015-10-08 12:21 指纹模块\OBJ\delay.crf
文件 673 2015-10-08 12:21 指纹模块\OBJ\delay.d
文件 267316 2015-10-08 12:21 指纹模块\OBJ\delay.o
文件 257939 2015-10-08 12:21 指纹模块\OBJ\fingerprint.crf
文件 884 2015-10-08 12:21 指纹模块\OBJ\fingerprint.d
文件 279812 2015-10-08 12:21 指纹模块\OBJ\fingerprint.o
文件 253153 2015-10-08 12:21 指纹模块\OBJ\main.crf
文件 737 2015-10-08 12:21 指纹模块\OBJ\main.d
文件 270932 2015-10-08 12:21 指纹模块\OBJ\main.o
文件 247788 2015-10-08 12:21 指纹模块\OBJ\misc.crf
文件 635 2015-10-08 12:21 指纹模块\OBJ\misc.d
文件 264872 2015-10-08 12:21 指纹模块\OBJ\misc.o
文件 63 2015-10-08 12:21 指纹模块\OBJ\startup_stm32f10x_hd.d
文件 6792 2015-10-08 12:21 指纹模块\OBJ\startup_stm32f10x_hd.o
文件 264071 2015-10-08 12:21 指纹模块\OBJ\stm32f10x_adc.crf
文件 770 2015-10-08 12:21 指纹模块\OBJ\stm32f10x_adc.d
文件 288524 2015-10-08 12:21 指纹模块\OBJ\stm32f10x_adc.o
文件 251249 2015-10-08 12:21 指纹模块\OBJ\stm32f10x_bkp.crf
............此处省略166个文件信息
- 上一篇:uCOS-II移植STM32,带有4路PWM输出
- 下一篇:SHT30驱动程序
评论
共有 条评论