(救救孩子吧)DIY指纹锁获取指纹失败,进入单个死循环-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1793|回复: 4

[已解决] (救救孩子吧)DIY指纹锁获取指纹失败,进入单个死循环

[复制链接]
发表于 2021-10-20 23:24 | 显示全部楼层 |阅读模式
本帖最后由 FirstNPC 于 2021-10-21 18:37 编辑

void loop() {
   getFingerprintIDez();
  delay(50);
  }
  int getFingerprintIDez() {
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK)  { //检测手指 封面
  u8g2.firstPage();          // 清空显示设备内部缓冲区
  u8g2.drawXBMP( 0 , 0 , 120 , 64 , fengmian );     //50,50为图片尺寸,根据你的图片尺寸修改
  u8g2.sendBuffer();        // 显示缓冲区内容
  return -1;
}

p = finger.image2Tz();//指纹错误
if (p != FINGERPRINT_OK)  {
  u8g2.firstPage();         
  u8g2.drawXBMP( 0 , 0 , 128 , 64 , zhifu );     
  u8g2.sendBuffer();        
  delay(1000);
  u8g2.firstPage();
  u8g2.drawXBMP( 0 , 0 , 121 , 62 , zijiren );
  u8g2.sendBuffer();
  delay(1000);
   return ;
}

p = finger.fingerFastSearch();//无手指
if (p != FINGERPRINT_OK)  {
  u8g2.firstPage();
  u8g2.drawXBMP( 0 , 0 , 124 , 62 , wuzhi );
  u8g2.sendBuffer();
  return -1;
}

// found a match!
u8g2.firstPage();
u8g2.setFont(u8g2_font_ncenB14_tr);
u8g2.drawStr(32,60," OPEN ");
u8g2.sendBuffer();
digitalWrite(relayPin, HIGH);
delay(5000);
digitalWrite(relayPin, LOW);
u8g2.firstPage();
u8g2.clearBuffer();
return finger.fingerID;
}[img]%5Bimg%5D[/img][/img]

上传后每次陷入函数getFingerprintIDez();中的if语句,且运行过程中直接无视if语句中的判断条件,是因为占用动态内存太大的原因码?
发表于 2021-10-21 08:24 | 显示全部楼层
如果你怀疑是内存占用导致的问题,可以先去掉u8g2,直接用串口输出看看。
发表于 2021-10-21 08:50 | 显示全部楼层
就是每检测到指纹呗。检查硬件连线正确吗
 楼主| 发表于 2021-10-21 18:35 | 显示全部楼层
Zoologist 发表于 2021-10-21 08:24
如果你怀疑是内存占用导致的问题,可以先去掉u8g2,直接用串口输出看看。

多谢大佬指点,已想通,确实是内存占用的问题。
 楼主| 发表于 2021-10-21 18:36 | 显示全部楼层
ifeue 发表于 2021-10-21 08:50
就是每检测到指纹呗。检查硬件连线正确吗

多谢指点,已解决问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 21:58 , Processed in 0.071243 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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