Arduino:如果串行输入字符串匹配则继续,否则继续询问用户输入
Arduino: If Serial input string matches then continue otherwise keep asking for user input
我希望能够让用户输入一个字符串并将其与另一个字符串进行比较,如果匹配则程序可以继续,否则它会继续要求输入。
我做了一个匹配字符串的基本输入。
我不确定如何处理要求持续输入的任务。
String defaultPassword = "pass1234";
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Enter password: ");
}
void loop() {
// put your main code here, to run repeatedly:
while (Serial.available() > 0) {
String inputPassword = Serial.readStringUntil('\n');
inputPassword.trim();
if (inputPassword == defaultPassword)
{
Serial.print("Correct Input: ");
Serial.println(inputPassword);
Serial.println("Initializing...");
}
else if (inputPassword != defaultPassword)
{
Serial.print("Incorrect Input: ");
Serial.println(inputPassword);
}
}
}
I'm not how sure how to approach the task of asking for continuous input.
void loop()
方法将在您输入后不断重复,因此您
将通过 while (Serial.available() > 0)
持续检查输入
- 创建一个
bool
变量并将其用作标志,根据您的密码字符串比较将其值更改为 ture
或 false
,您可以稍后检查该标志来决定是否要求用户输入其他内容或继续。
bool flag = false;
if (inputPassword == defaultPassword)
{
flag = true;
Serial.print("Correct Input: ");
Serial.println(inputPassword);
Serial.println("Initializing...");
}
else
{
flag = false;
Serial.print("Incorrect Input: ");
Serial.println(inputPassword);
Serial.print("Please enter password again.");
}
if(flag)
{
//rest of your logic here if user entered the desired input
}
我希望能够让用户输入一个字符串并将其与另一个字符串进行比较,如果匹配则程序可以继续,否则它会继续要求输入。 我做了一个匹配字符串的基本输入。
我不确定如何处理要求持续输入的任务。
String defaultPassword = "pass1234";
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Enter password: ");
}
void loop() {
// put your main code here, to run repeatedly:
while (Serial.available() > 0) {
String inputPassword = Serial.readStringUntil('\n');
inputPassword.trim();
if (inputPassword == defaultPassword)
{
Serial.print("Correct Input: ");
Serial.println(inputPassword);
Serial.println("Initializing...");
}
else if (inputPassword != defaultPassword)
{
Serial.print("Incorrect Input: ");
Serial.println(inputPassword);
}
}
}
I'm not how sure how to approach the task of asking for continuous input.
void loop()
方法将在您输入后不断重复,因此您 将通过while (Serial.available() > 0)
持续检查输入
- 创建一个
bool
变量并将其用作标志,根据您的密码字符串比较将其值更改为ture
或false
,您可以稍后检查该标志来决定是否要求用户输入其他内容或继续。
bool flag = false;
if (inputPassword == defaultPassword)
{
flag = true;
Serial.print("Correct Input: ");
Serial.println(inputPassword);
Serial.println("Initializing...");
}
else
{
flag = false;
Serial.print("Incorrect Input: ");
Serial.println(inputPassword);
Serial.print("Please enter password again.");
}
if(flag)
{
//rest of your logic here if user entered the desired input
}