OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5917|回复: 5

STM32mini板+AS608指纹模块 握手不成功

[复制链接]

3

主题

15

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2017-7-26
在线时间
8 小时
发表于 2018-3-23 12:05:40 | 显示全部楼层 |阅读模式
10金钱
      我用Mini板调试AS608模块,用的是原子哥的例程,main函数里只保留了“刷指纹”这个功能,本以为很简单的程序,却总是显示32和as608模块握手不成功。      程序中,串口1都没问题,我手头没有触摸屏,就把触摸屏相关程序全部引掉了,主程序逻辑很简单,AS608.c文件也没有任何改动,却始终握手不成功。

      跪求帮忙解答一下被这个问题折磨好久了,之前在网上看有说监控串口数据的收发,可我手头上没有JLink仿真器请求帮忙看一下,我把工程文件上传上来


以下是我的main函数
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "lcd.h"
#include "key.h"
#include "touch.h"          
#include "malloc.h"
#include "usmart.h"  
#include "MMC_SD.h"   
#include "ff.h"  
#include "exfuns.h"   
#include "fontupd.h"
#include "text.h"       
#include "usart2.h"
#include "AS608.h"
#include "timer.h"

//ALIENTEK Mini STM32开发板扩展实验14
//ATK-AS608指纹识别模块实验-库函数版本
//技术支持:www.openedv.com
//淘宝店铺:http://eboard.taobao.com
//广州市星翼电子科技有限公司   
//作者:正点原子 @alientek

#define usart2_baund  57600//串口2波特率,根据指纹模块波特率更改(注意:指纹模块默认57600)
SysPara AS608Para;//指纹模块AS608参数
u16 ValidN;//模块内有效模板个数
u8** kbd_tbl;

void press_FR(void);//刷指纹

u16 GET_NUM(void);//获取数值  

int main(void)
{                 
        u8 ensure;
        u8 key_num;
        char *str;
       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
        delay_init();              //初始化延时函数
        uart_init(115200);        //初始化串口1波特率为115200,用于支持USMART
        usart2_init(usart2_baund);//初始化串口2,用于与指纹模块通讯
        PS_StaGPIO_Init();        //初始化FR读状态引脚

        usmart_dev.init(72);//初始化USMART
        mem_init();                                        //初始化内存池
        exfuns_init();                        //为fatfs相关变量申请内存  
        f_mount(fs[1],"1:",1);  //挂载FLASH.

                 printf("test1");
        while(PS_HandShake(&AS608Addr))//与AS608模块握手   程序死这里了
        {
      printf("握手不成功\n");               
        }
        printf("Connect success!\n");                //通讯成功

        ensure=PS_ValidTempleteNum(&ValidN);//读库指纹个数
        if(ensure!=0x00)
                      printf("No vaild num\n");  
        ensure=PS_ReadSysPara(&AS608Para);  //读AS608模块参数
       
        while(1)                                                           
        {
                if(PS_Sta)         //检测PS_Sta状态,如果有手指按下
                {
                        press_FR();//刷指纹                                      
                }                                 
        }        
}

//刷指纹
void press_FR(void)
{
        SearchResult seach;
        u8 ensure;
        char *str;
        ensure=PS_GetImage();
        if(ensure==0x00)//获取图像成功
        {       
                ensure=PS_GenChar(CharBuffer1);
                if(ensure==0x00) //生成特征成功
                {               
                        ensure=PS_HighSpeedSearch(CharBuffer1,0,300,&seach);
                        if(ensure==0x00)//搜索成功
                        {                               
         printf("Search fingerprint success\n");                               
                                str=mymalloc(50);
                                printf("Match ID:%d  Match score:%d",seach.pageID,seach.mathscore);//显示匹配指纹的ID和分数
                        }
                        else
                                        printf("Search fingerprint failed\n");                                       
          }
                else
                printf("Search fingerprint failed\n");                       
        }
               
}

Snipaste_2018-03-23_11-59-41.png

AS608刷指纹程序.zip

7.66 MB, 下载次数: 1856

最佳答案

查看完整内容[请看2#楼]

已经解决了,原来是指纹模块的波特率被改动了一下,我一直以为是57600呢,串口2的波特率也是57600,后来把串口2的波特率改成115200就可以正常通信了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

15

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2017-7-26
在线时间
8 小时
 楼主| 发表于 2018-3-23 12:05:41 | 显示全部楼层
已经解决了,原来是指纹模块的波特率被改动了一下,我一直以为是57600呢,串口2的波特率也是57600,后来把串口2的波特率改成115200就可以正常通信了。
回复

使用道具 举报

3

主题

15

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2017-7-26
在线时间
8 小时
 楼主| 发表于 2018-3-23 12:07:15 | 显示全部楼层
这个是用串口1打印
Snipaste_2018-03-23_11-59-41.png
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10571
金钱
10571
注册时间
2017-2-18
在线时间
1914 小时
发表于 2018-3-23 12:21:41 | 显示全部楼层
帮顶!1
回复

使用道具 举报

3

主题

15

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2017-7-26
在线时间
8 小时
 楼主| 发表于 2018-3-23 14:37:14 | 显示全部楼层
发的例程改一下usart2的波特率即可使用
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-4-19
在线时间
1 小时
发表于 2018-4-19 18:55:37 | 显示全部楼层
Vigor6 发表于 2018-3-23 12:07
这个是用串口1打印

你好,怎么用串口打印这个结果啊?不会弄。另外指纹模块的波特率是不是在指纹测试上位机哪里设置的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-7 16:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表