表 2.2.1 AS608 模块与探索者 STM32F4 开发板连接关系表
注:上位机 USB 测试、串口测试及使用串口助手调试的方法在模块资料\ATK-AS608 指纹识
别模块用户手册.pdf 中说明。本文档只说明例程实验演示模式。
3、软件实现
本实验主要实现录入指纹、刷指纹(验证指纹)、使用 USMART 读取和修改模块参数
等功能。程序是在探索者 STM32F407 开发板的汉字显示实验和 T9 拼音输入法实验基础上进
行修改的。并增加了 beep.c、usart2.c、as608.c,这里我们使用 usart2.c 与 AS608 模块通讯,
usart2.c 参考了在之前的蓝牙例程的 usart3.c(详见:AN1408A ATK-HC05 蓝牙串口模块使用
说明)里面介绍过了结合定时器超时接收完成数据的机制。这里,我们就不再介绍 usart2.c,
主要看 as608.c 和 main.c 的代码,首先是 as608.c,该文件是 AS608模块的驱动代码,as608.c
部分代码如下:
u32 as608Addr = 0XFFFFFFFF; //默认
//初始化 PA6 为下拉输入
//读摸出感应状态(触摸感应时输出高电平信号)
void PS_StaGPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//使能 GPIOA 时钟
//初始化读状态引脚 GPIOA
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//普通输入模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;//下拉
GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化 GPIO
}
//串口发送一个字节
static void MYUSART_SendData(u8 data)
{
while((USART2->SR&0X40)==0);
USART2->DR = data;
}
//发送包头
static void SendHead(void)
{
MYUSART_SendData(0xEF);
MYUSART_SendData(0x01);
}
//发送地址