久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9041|回復: 8
打印 上一主題 下一主題
收起左側

AS608指紋模塊的stm32驅動源碼

  [復制鏈接]
跳轉到指定樓層
樓主
ID:314074 發表于 2018-4-22 21:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
AS608指紋模塊資料包


stm32源程序:

  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "usart2.h"
  5. #include "AS608.h"
  6. #include "timer.h"
  7. #include "oled.h"



  8. #define usart2_baund  57600 //
  9. SysPara AS608Para;          //
  10. u16 ValidN;                 //


  11. void Add_FR(void);        //添加指紋
  12. void Del_FR(void);        //刪除指紋
  13. void press_FR(void);//比對指紋

  14. int main(void)
  15. {                 
  16.         u8 ensure;
  17.         u8 key_num;
  18.         char *str;

  19.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統中斷優先級分組2
  20.         delay_init();              //初始化延時函數
  21.         uart_init(115200);        //初始化串口1波特率為115200,用于支持USMART
  22.         usart2_init(usart2_baund);//初始化串口2,用于與指紋模塊通訊
  23.         PS_StaGPIO_Init();        //初始化FR讀狀態引腳
  24.         OLED_Init();           //OLED初始化  //初始化顯示
  25.         OLED_ShowStr(0,0,(unsigned char*)" FINGERPRINT ID ",2);  
  26.         OLED_ShowStr(0,2,(unsigned char*)"                ",2);
  27.         OLED_ShowStr(0,4,(unsigned char*)"                ",2);
  28.   OLED_ShowStr(0,6,(unsigned char*)"                ",2);       
  29.         //與指紋模塊握手
  30.         while(PS_HandShake(&AS608Addr))
  31.         {
  32.           OLED_ShowStr(0,2,(unsigned char*)" ShakHands....",2);
  33.         }
  34.         //握手通過  
  35.         OLED_ShowStr(0,2,(unsigned char*)" Ready To Work ",2);       
  36.         delay_ms(100);
  37.         while(1)
  38.         {       
  39.                 press_FR();
  40.                 //添加指紋
  41.                 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)==0)
  42.                    {          
  43.                      delay_ms(10);
  44.                             if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)==0)
  45.                              {
  46.                                //setup=setup+2000;
  47.                                                  Add_FR();
  48.                                                  OLED_ShowStr(0,4,(unsigned char*)" FUN:ADD FRIGER ",2);
  49.                              }       
  50.                    }
  51.                         //對比指紋
  52.                                  if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==0)
  53.                    {          
  54.                      delay_ms(10);
  55.                             if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==0)
  56.                              {
  57.                                Del_FR();
  58.                        
  59.                                                  OLED_ShowStr(0,4,(unsigned char*)" FUN:DEL FRIGER ",2);
  60.                              }       
  61.                    }       
  62.                 }
  63. }


  64. void ShowErrMessage(u8 ensure)
  65. {
  66. }
  67. void Add_FR(void)
  68. {
  69.         u8 i=0,ensure ,processnum=0;
  70.         u16 ID;
  71.         while(1)
  72.         {
  73.                 switch (processnum)
  74.                 {
  75.                         case 0:
  76.                                 i++;
  77.                                
  78.                           OLED_ShowStr(0,6,(unsigned char*)" Touch finger!  ",2);
  79.                           OLED_ShowStr(0,4,(unsigned char*)" FUN:ADD FRIGER ",2);
  80.                                 ensure=PS_GetImage();
  81.                                 if(ensure==0x00)
  82.                                 {
  83.                                         ensure=PS_GenChar(CharBuffer1);//????
  84.                                         if(ensure==0x00)
  85.                                         {
  86.                                                
  87.                                                 OLED_ShowStr(0,6,(unsigned char*)" Figer Correct  ",2);
  88.                                                 OLED_ShowStr(0,4,(unsigned char*)" FUN:ADD FRIGER ",2);
  89.                                                 i=0;
  90.                                                 processnum=1;                                       
  91.                                         }else ShowErrMessage(ensure);                               
  92.                                 }else ShowErrMessage(ensure);                                               
  93.                                 break;
  94.                        
  95.                         case 1:
  96.                                 i++;
  97.                        
  98.                           OLED_ShowStr(0,6,(unsigned char*)" Touch Again!   ",2);
  99.                           OLED_ShowStr(0,4,(unsigned char*)" FUN:ADD FRIGER ",2);
  100.                                 ensure=PS_GetImage();
  101.                                 if(ensure==0x00)
  102.                                 {
  103.                                         ensure=PS_GenChar(CharBuffer2);//                       
  104.                                         if(ensure==0x00)
  105.                                         {
  106.                                                
  107.                                                 OLED_ShowStr(0,6,(unsigned char*)" Figer Correct  ",2);
  108.                                                 OLED_ShowStr(0,4,(unsigned char*)" FUN:ADD FRIGER ",2);
  109.                                                 i=0;
  110.                                                 processnum=2;
  111.                                         }else ShowErrMessage(ensure);       
  112.                                 }else ShowErrMessage(ensure);               
  113.                                 break;

  114.                         case 2:
  115.                                
  116.                           OLED_ShowStr(0,6,(unsigned char*)" Figer Compare  ",2);
  117.                                 OLED_ShowStr(0,4,(unsigned char*)" FUN:ADD FRIGER ",2);
  118.                                 ensure=PS_Match();
  119.                                 if(ensure==0x00)
  120.                                 {

  121.                                         OLED_ShowStr(0,6,(unsigned char*)" Figer are same ",2);
  122.                                         OLED_ShowStr(0,4,(unsigned char*)" FUN:ADD FRIGER ",2);
  123.                                         processnum=3;
  124.                                 }
  125.                                 else
  126.                                 {
  127.                                        
  128.                                         ShowErrMessage(ensure);
  129.                                         i=0;
  130.                                         processnum=0;               
  131.                                 }
  132.                                 delay_ms(1000);
  133.                                 break;

  134.                         case 3:

  135.                           OLED_ShowStr(0,6,(unsigned char*)" Touch Again!   ",2);
  136.                           OLED_ShowStr(0,4,(unsigned char*)" FUN:ADD FRIGER ",2);
  137.                                 ensure=PS_RegModel();
  138.                                 if(ensure==0x00)
  139.                                 {

  140.                                         OLED_ShowStr(0,6,(unsigned char*)" Comper Success!",2);
  141.                             OLED_ShowStr(0,4,(unsigned char*)" FUN:ADD FRIGER ",2);
  142.                                         processnum=4;//?????
  143.                                 }else {processnum=0;ShowErrMessage(ensure);}
  144.                                 delay_ms(1000);
  145.                                 break;
  146.                                
  147.                         case 4:       
  148.                                        
  149.                                 do
  150.                                         ID=1;
  151.                                 while(!(ID<300));
  152.                                 ensure=PS_StoreChar(CharBuffer2,ID);
  153.                                 if(ensure==0x00)
  154.                                 {
  155.           OLED_ShowStr(0,6,(unsigned char*)"  ADD Success!  ",2);
  156.                             OLED_ShowStr(0,4,(unsigned char*)" FUN:ADD FRIGER ",2);                                       
  157.                                         PS_ValidTempleteNum(&ValidN);
  158.                                         delay_ms(1500);
  159.                                        
  160.                                         return ;
  161.                                 }else {processnum=0;ShowErrMessage(ensure);}                                       
  162.                                 break;                               
  163.                 }
  164.                 delay_ms(800);
  165.                 if(i==5)//
  166.                 {
  167.                
  168.                         break;       
  169.                 }                               
  170.         }
  171. }

  172. /**************************************************************
  173. DESC:對比指紋
  174. *****************************************************************/
  175. void press_FR(void)
  176. {
  177.         SearchResult seach;
  178.         u8 ensure;
  179.         OLED_ShowStr(0,6,(unsigned char*)" Begin Compare ",2);
  180.         ensure=PS_GetImage();
  181.         if(ensure==0x00)//
  182.         {       
  183.                 ensure=PS_GenChar(CharBuffer1);
  184.                 if(ensure==0x00) //
  185.                 {               
  186.                         ensure=PS_HighSpeedSearch(CharBuffer1,0,300,&seach);
  187.                         if(ensure==0x00)//
  188.                         {                               
  189.                                 OLED_ShowStr(0,6,(unsigned char*)" Comper PASS!   ",2);
  190.                           OLED_ShowStr(0,4,(unsigned char*)" FUN:CPR FRIGER ",2);
  191.                         }
  192.                         else
  193.                         {
  194.                             OLED_ShowStr(0,6,(unsigned char*)" Comper Fail!   ",2);
  195.                             OLED_ShowStr(0,4,(unsigned char*)" FUN:CPR FRIGER ",2);
  196.                         }       
  197.                        
  198.                 }
  199.                         else
  200.                         {
  201.                             OLED_ShowStr(0,6,(unsigned char*)" Comper Fail!   ",2);
  202.                             OLED_ShowStr(0,4,(unsigned char*)" FUN:CPR FRIGER ",2);
  203.                         }       
  204.                
  205.          delay_ms(1000);//

  206.         }
  207.                
  208. }
  209. /******************************************************************************
  210. DESC:刪除指紋
  211. *******************************************************************************/

  212. void Del_FR(void)
  213. {
  214.         u8  ensure;
  215.         delay_ms(50);
  216.                 ensure=PS_Empty();//?????
  217.         if(ensure==0)
  218.         {
  219.                 OLED_ShowStr(0,6,(unsigned char*)" FINGER DELL OK ",2);
  220.           OLED_ShowStr(0,4,(unsigned char*)" FUN:DEL FRIGER ",2);
  221.         }
  222.         delay_ms(1500);//???????
  223. }


復制代碼


全部資料51hei下載地址:
ATK-AS608指紋識別模塊.rar (985.91 KB, 下載次數: 199)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:261973 發表于 2018-5-5 13:59 | 只看該作者
大佬,能問一下為什么單片機與指紋模塊握手不成功嗎?程序就是用的這套
回復

使用道具 舉報

板凳
ID:388487 發表于 2018-8-21 15:03 | 只看該作者
凌飛 發表于 2018-5-5 13:59
大佬,能問一下為什么單片機與指紋模塊握手不成功嗎?程序就是用的這套

不好意思我來挖墳了。想問一下層主 樓主沒有提供電路連接啊 你是怎么就弄好了呢
回復

使用道具 舉報

地板
ID:634956 發表于 2019-11-15 23:10 | 只看該作者
凌飛 發表于 2018-5-5 13:59
大佬,能問一下為什么單片機與指紋模塊握手不成功嗎?程序就是用的這套

我這邊握手的時候也一直不成功,不知道什么原因
回復

使用道具 舉報

5#
ID:662104 發表于 2019-12-12 08:45 | 只看該作者
14,ATK-AS608指紋識別模塊
回復

使用道具 舉報

6#
ID:662104 發表于 2019-12-12 08:48 | 只看該作者
ATK-AS608指紋識別模塊 (庫函數版本,適合Mini開發板)擴展實驗14 ATK-AS608指紋識別模塊測試實驗.zip (1.22 MB, 下載次數: 30)
回復

使用道具 舉報

7#
ID:522654 發表于 2020-2-8 18:03 | 只看該作者
代碼少一個.h文件
回復

使用道具 舉報

8#
ID:688881 發表于 2020-2-13 15:46 | 只看該作者
謝謝分享
回復

使用道具 舉報

9#
ID:690673 發表于 2020-2-16 17:04 | 只看該作者
superbear 發表于 2020-2-8 18:03
代碼少一個.h文件

對啊,怎么解決
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品 在线观看 | 国产99久久精品一区二区永久免费 | 成人精品久久日伦片大全免费 | 中文字幕1区 | 日本不卡免费新一二三区 | 亚洲国产一区二区三区在线观看 | 91久久精品| 欧州一区二区三区 | 一级做a爰片性色毛片16美国 | 亚洲欧美中文日韩在线v日本 | 成人免费看片又大又黄 | 97国产精品视频人人做人人爱 | 91成人在线视频 | 欧美久久精品 | 亚洲精品在 | 日本在线视频一区二区 | 精品综合久久久 | 久久草在线视频 | 另类 综合 日韩 欧美 亚洲 | 国产日韩欧美一区 | 男人的天堂视频网站 | 欧美日韩理论 | 人人射人人草 | 久久久久久久久蜜桃 | 黄色日本片 | 国产精品黄色 | 国产激情在线 | 欧美一级免费看 | 91精品国产一区二区三区 | 青娱乐av| 视频在线一区二区 | 国产一区二区三区亚洲 | 婷婷一级片 | 午夜精品久久久久久久久久久久久 | 国产精品久久久久无码av | 成人一级黄色毛片 | 免费一区二区在线观看 | 99免费在线视频 | 国产精品久久久久久久久婷婷 | av中文字幕在线播放 | 亚洲视频在线观看一区二区三区 |