我正在使用Arduino Mega,它将通过蓝牙终端应用程序为Arduino进行蓝牙控制。我想要它做的是,当它启动时,在设置 - 我希望它提示用户输入4位数的PIN,一旦用户完成输入引脚并点击发送程序应继续进行而不是在此之前。这就是我试过的
unsigned char buff[4];
void getPassword() {
int j = 0;
Serial1.println("Enter the PIN: ");
for (;;) {
while (Serial1.available() > 0) {
buff[j] = Serial1.read();
j++;
}
if (j >= 3) {
break;
}
}
}
void setup() {
getPassword();
}
它似乎根本不起作用。我如何实现这一目标?
答案 0 :(得分:0)
我注意到你的密码缓冲区是4个字符长。但是你只能从Serial中读取3个字符。密码实际上是3或4个字符长吗?如果它是4个字符长,那么当j是3时,它还没有时间退出该循环。当j为3时,您正在等待第四个字符。您想在读取第四个字符后退出,j再次递增并变为4.