Arduino中String数组声明及身份验证字符串匹配问题求助
Arduino中String数组声明及身份验证字符串匹配问题求助
大家好,我正在为我的工程学校做一个项目,目标是编程让Arduino操作一个保险箱。
这个认证系统的逻辑是:按下对应密码的一系列按键,输入的密码会和预设表格里的内容进行比对。我原本打算把数组声明成String类型,因为密码需要和字符串做比较,但自从把类型从int改成String后,直接炸出一堆错误。换成char类型的话倒是没报错,但新问题来了——用它和按键输入的密码比对时,只会比较数组元素的第一个字符,根本没法完成完整的密码验证。
下面是我涉及到的相关函数代码:
String code[15] = {"0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111"}; char niveau[15] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O'}; bool MA5() { char Lettre; // Déclarer les variables String ID; Serial.println("Entré votre lettre :"); while (!Serial.available()) { } // Entrée de la lettre de l'agent Lettre = Serial.read(); // Affectation Serial.println(Lettre); Serial.println("Entré Votre code par le biais des boutons poussoirs, vous avez 10 secondes"); ID = entrer_code(); for (int i = 0; i < 15; i++) { // Vérification de l'association lettre-ID dans le dictionnaire if (niveau[i] == Lettre) { Serial.println(code[i]); if (String(code[i]) == ID) { return true; // Association correcte } } } return false; }
备注:内容来源于stack exchange,提问作者Gabriel
相关产品推荐
相关产品推荐

