将指纹保存到指纹传感器的数据库中

时间:2017-12-14 16:43:17

标签: c++ arduino arduino-uno fingerprint

我在我的项目中使用Adafruit Kookye指纹模块。由于它只能分配256个指纹,我需要制作一个程序来释放内存并添加额外的用户。我在图书馆做了以下功能:

uint8_t Adafruit_Fingerprint::downloadModel(uint16_t id, uint8_t packet_1[], uint8_t packet_2[], uint8_t slot) {
  uint8_t packet[] = {FINGERPRINT_DOWNLOAD, slot};
  writePacket(theAddress, FINGERPRINT_COMMANDPACKET, sizeof(packet)+2, packet);
  uint8_t len = getReply(recvPacket);

  if ((len != 1) && (recvPacket[0] != FINGERPRINT_ACKPACKET))
   return -1;
  if (recvPacket[1] == 0x00) {
    writePacket(theAddress, FINGERPRINT_DATAPACKET, sizeof(packet_1)+2, packet_1);
    writePacket(theAddress, FINGERPRINT_DATAPACKET, sizeof(packet_2)+2, packet_2);
    return recvPacket[1];
  } else {
    return recvPacket[1];
  }
}    

此功能正常,它将指纹放入缓冲区1,当我调用该功能以保存ID时,它也可以工作。当我在传感器中打印指纹时,结构与从注册中直接添加的结构完全相同。但是,当我搜索指纹时,传感器始终返回用户不存在的信息。

我不知道这是什么问题。

0 个答案:

没有答案