【发布时间】:2021-05-17 17:26:24
【问题描述】:
我有一个菜单功能,我在其中输入一个问题和两个选项,然后用户选择一个。它每次都可以正常工作,但只有一个;我打电话
if (menu("ou est le corps?","interieur ","exterieur")==1)
{
但不是打印“interieur”而是显示“p?” 没有空间它工作得很好,但我需要腾出一个空间,\n 做同样的事情。 我有另一个调用这个函数, \n 工作正常,所以我不知道为什么这不起作用。有人有想法吗?
PS : choix1 的值然后通过蓝牙发送,并保持不变。
PPS : 如果有不清楚的地方告诉我,我不是天生的英语
PPPS(sorry) : 尝试再次运行相同的代码,似乎打印了一个随机字符,后跟“?”,我有两次“p?”,一次“?”和一次“'?”
[更新]一次“#?”
int menu (String texte, String choix1, String choix2)
{
envoye = 0;
rxValue = "0";
while (digitalRead(M5_BUTTON_HOME) != LOW && rxValue == "0")
{
heure();
M5.Lcd.setTextSize(2);
M5.Lcd.print(texte);
M5.Lcd.printf("\n");
if (selec == 0)
{
M5.Lcd.printf("->%s %s", choix1, choix2);
}
else
{
M5.Lcd.printf(" %s ->%s", choix1, choix2);
}
if (M5.BtnB.read() != 0)
{
if (selec == 0)
{
selec = 1;
}
else
{
selec = 0;
}
while (M5.BtnB.read() != 0)
{
if(digitalRead(M5_BUTTON_HOME) == LOW)
{
M5.Lcd.fillScreen(BLACK);
delay(1000);
if(digitalRead(M5_BUTTON_HOME) == LOW)
{
choix=50;
heure();
delay(1000);
return 1;
}
}
}
}
if (deviceConnected && envoye == 0)
{
sendchoix(texte, choix1, choix2);
envoye++;
}
}
if (rxValue != "0")
{
recuble = &rxValue[0];
selec = atoi(recuble) - 1;
rxValue = "0";
}
M5.Lcd.fillScreen(BLACK);
delay(300);
return selec;
}
【问题讨论】:
标签: arduino