目录

一、硬件使用分类

1.整体图展示

2.STM32F103RCT6单片机

3.AS608指纹模块

4.USB转TTL

二、软件设计

1.接线设计

2.程序设计

一、硬件使用分类

1.整体图展示

采用STM32F103RCT6作为主控制器

2.STM32F103RCT6单片机

STM32F103RCT6不含USB转TTL芯片,需要外界接入

下图为STM32F103RCT6原理图

其中在RCT6中PA9,PA10为板子的USART1,原理图中并没有出现以上俩引脚,其引脚在为板子上标识的TX,RX

以下是工程中USART1的初始化程序设计

void uart_init(u32 bound){//GPIO端口设置GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);    //使能USART1,GPIOA时钟//USART1_TX   GPIOA.9GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;   //复用推挽输出GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9//USART1_RX     GPIOA.10初始化GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10  //Usart1 NVIC 配置NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;//抢占优先级3NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;       //子优先级3NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;         //IRQ通道使能NVIC_Init(&NVIC_InitStructure);    //根据指定的参数初始化VIC寄存器//USART 初始化设置USART_InitStructure.USART_BaudRate = bound;//串口波特率USART_InitStructure.USART_WordLength = USART_WordLength_8b;//字长为8位数据格式USART_InitStructure.USART_StopBits = USART_StopBits_1;//一个停止位USART_InitStructure.USART_Parity = USART_Parity_No;//无奇偶校验位USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;   //收发模式USART_Init(USART1, &USART_InitStructure); //初始化串口1USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//开启串口接受中断USART_Cmd(USART1, ENABLE);                    //使能串口1 }

在上面的程序段中,我们可以清晰的看出来PA9,PA10都可以使用,PA9为TX,PA10为RX。

3.AS608指纹模块

AS608指纹识别模块是ALIENTEK推出的一款高性能的光学指纹识别模块。AS608模块采用了国内著名指纹识别芯片公司杭州晟元芯片技术有限公司(Synochip)的 AS608指纹识别芯片。芯片内置DSP运算单元,集成了指纹识别算法,能高效快速采集图像并识别指纹特征。模块配备了串口、USB通讯接口,用户无需研究复杂的图像处理及指纹识别算法,只需通过简单的串口、USB 按照通讯协议便可控制模块。本模块可应用于各种考勤机、保险箱柜、指纹门禁系统、指纹锁等场合。
        下面是AS608的一些具体参数:

供电电压  3.3V(切勿使用5V,容易烧毁芯片)
供电电流  < 60mA
指纹图像录入时间  < 1s
搜索时间 < 1.0s(1:500时,均值)
可录入指纹数量  300
通讯接口 USB/USART
匹配方式 比对方式(1:1),搜索方式(1:N)

        注意!!!!     AS608指纹模块切勿接5V,一定要接3.3V

        注意!!!!     AS608指纹模块切勿接5V,一定要接3.3V

        注意!!!!     AS608指纹模块切勿接5V,一定要接3.3V

如果不相信的话可以去试试(如果你是土豪的话,完全跳过这一条)

下面俩个图就是我们AS608指纹模块的引脚解释:

D+和D-不用接,就算你想接也不一定能接上,反正根本就没有那俩跟线的引脚。

其中5线(蓝线)这个引脚就是作为我们输出的引脚,话说每个模块到头来都是个开关而已,就是开关的启动方式不同罢了。

4.USB转TTL

这个就不做过多介绍了,都是大家常用的东西。

二、软件设计

1.接线设计

AS608指纹模块与单片机接线

VCC GND TX  RX  TCH UA 
3.3V GND PA3 PA2 PA6 3.3V

USB转TTL与单片机接线

VCC GND TX RX
5V GND RX(PA10) TX(PA9)

在RCT6中标识的是TX与RX,其实他们就是单片机上的PA10,PA9上面已经解释过了,这里就不做过多的解释了。

2.程序设计

程序是按照正点原子中的历程进行修改的,此处使用的是串口进行操作的

对于AS608指纹模块我们首先要进行握手,换句话也就是通过发送特定的16进制数据将单片机与模块进行连接而已了。

printf("AS608指纹模块串口操作\r\n");printf("作者:十里承欢-\r\n");printf("尝试连接AS608中.....\r\n");while(PS_HandShake(&AS608Addr))//与AS608模块握手{printf("未连接上AS608!\r\n");delay_ms(1000);printf("再次尝试连接中....\r\n");delay_ms(1000);    }//连接模块成功,初始化printf("连接成功!!\r\n");str=mymalloc(30);sprintf(str,"波特率:%d   地址:%x",usart2_baund,AS608Addr);//显示波特率printf("%s",str);delay_ms(100);

在握手过程中

1.发送包头:也就是0XEF、0X01

2.发送地址:AS608的默认地址是0XFFFFFFFF

3.发送0X01、0X00、0X00等待AS608响应,对比响应的数据即可完成握手

//与AS608握手 PS_HandShake
//参数: PS_Addr地址指针
//说明: 模块返新地址(正确地址)
u8 PS_HandShake(u32 *PS_Addr)
{SendHead();SendAddr();MYUSART_SendData(0X01);MYUSART_SendData(0X00);MYUSART_SendData(0X00);    delay_ms(200);if(USART2_RX_STA&0X8000)//接收到数据{      if(//判断是不是模块返回的应答包              USART2_RX_BUF[0]==0XEF&&USART2_RX_BUF[1]==0X01&&USART2_RX_BUF[6]==0X07){*PS_Addr=(USART2_RX_BUF[2]<<24) + (USART2_RX_BUF[3]<<16)+(USART2_RX_BUF[4]<<8) + (USART2_RX_BUF[5]);USART2_RX_STA=0;return 0;}USART2_RX_STA=0;                    }return 1;
}

然后按照内容提示进行操做

按下KEY1键就是录入指纹

此时需要我们填写指纹的位置,由于该模块最多就能储存300个指纹,所以位置就是1~300中任何一个数。

我们的指纹已经被成功录入。

我们可以进行指纹读取:

在红框框住的,前面是我们的指纹位置,后面是我们的等级,也就是相似程度,可以这样理解。

剩下的功能就不过多演示了,基本跟着提示来就没有问题。

希望大家好好看看用户手册,我把链接放到下面:

百度网盘 请输入提取码     提取码:dte5

程序链接:百度网盘 请输入提取码           提取码:rq79

上面我也说过,可以通过TCH引脚进行一系列操作以及拓展,希望大家加油!!!!!

(错误都已改正)AS608指纹+STM32串口通信录入或删除指纹相关推荐

  1. STM32串口通信详解以及通信异常或者卡死常见问题分析

    STM32串口通信详解以及通信异常或者卡死常见问题分析 目录 STM32串口通信详解以及通信异常或者卡死常见问题分析 一.常见的异常问题 二.STM32的串口简介 1.串口的通讯方式 ①按数据传输方向 ...

  2. STM32串口通信学习总结

                                                                             STM32串口通信学习总结 1.概述 1.1学习目的 ...

  3. STM32——串口通信

    STM32--串口通信 宗旨:技术的学习是有限的,分享的精神是无限的. 一.异步串口通信协议 STM32 的串口非常强大,它不仅支持最基本的通用串口同步.异步通信,还具有 LIN 总线功能(局域互联网 ...

  4. Ardunio下的STM32串口通信

    文章目录 任务要求 Ardunio下的STM32串口通信 软件准备 编译烧录 标准库函数与HAL库函数的stm32编程方式差异 国人版的MCU集成开发平台 stduino IDE 总结 任务要求 安装 ...

  5. STM32串口通信详解(嵌入式学习)

    STM32串口通信 1.通信基础知识 1.1 时钟信号区分 同步通信 异步通信 波特率 总线协议(电气协议) 1.2 通信方式划分 串行通信 并行通信 1.3 通信方向划分 单工通信 半双工通信 全双 ...

  6. K210学习笔记(一) K210与STM32串口通信相关

    文章目录 前言 一.STM32 串口中断 接收K210板子发送的ASCII码整数 转换为 多位整形数据 二.MAIX BIT(K210)与STM32串口通讯 2.1 实现MAIX BIT与XCOM之间 ...

  7. stm32串口通信(初学者对于串口通信的理解)

    stm32串口通信(初学者对于串口通信的理解) 标签: stm32串口通信单片机 2015-01-24 10:12 987人阅读 评论(0) 收藏 举报  分类: stm32 版权声明:本文为博主原创 ...

  8. STM32串口通信中使用printf发送数据配置方法 开发环境 Keil

    STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) 已有 12456 次阅读2011-6-29 23:29 | 在STM32串口通信程序中使用printf发送数据, ...

  9. openmv和stm32串口通信完成二维码识别

    openmv和stm32串口通信完成二维码识别 文章目录 前言 一.所用的硬件: 二.openmv端 2.stm32端 总结 前言 注:我只是个大一的小白,本文只完成基本功能,希望能帮助有困惑的人(我 ...

最新文章

  1. 2018未来科学大奖揭晓:袁隆平、马大为、林本坚等7位科学家获奖
  2. [C++学习笔记](double*)malloc(n * sizeof(double));
  3. redis的学习使用,第四章
  4. windows 安装yaml支持和pytest支持等
  5. TCP三次握手及四次挥手详细图解(转)
  6. 安装提示没有安装包docker(转载)
  7. Data Binding的使用总结
  8. HaDoop安装配置笔记
  9. E-prime debug
  10. 信息系统集成监理费收取标准_信息产业部信息系统工程监理与咨询服务收费参考标准Word1...
  11. ES分片UNASSIGNED解决方案(ALLOCATION_FAILED,REPLICA_ADDED,NODE_LEFT,REINITIALIZED,CLUSTER_RECOVERED等等)
  12. 棱镜为什么能把阳光分成七色呢?
  13. windows如何切换到administrtor用户
  14. Android Q访问公共外部存储受限
  15. 在OpenGL中创建一个球体动画,使球体在窗口内做自由落体运动,并在撞击地面后能够返回原来高度
  16. Android 联想K5 Play 8.0 Notification突破拦截(vdex反编译 )
  17. 加密芯片十大品牌对比
  18. SpringBoot整合knif4j Api文档
  19. SAAS 客服云平台市场调研报告
  20. Google域名解析的游戏?

热门文章

  1. 百度地图添加多个marker点位标注
  2. 暑期培训《数学建模》一:模糊综合评价
  3. Kotlin学习笔记-1
  4. Cobbler无人值守安装
  5. 百度百科如何创建词条|多少钱
  6. 快钱 支付 php,GitHub - laraveler/omnipay-99bill: 基于Omnipay的快钱支付SDK
  7. LoRa点对点系统3 与PC接口
  8. Ideas for Snap to grid
  9. 基于谁也不信任的安全建设思路 打造安全防御体系
  10. 青海哈里哈图国家森林公园雪景美若人间仙境