Я нахожусь в проекте, который пытается показать текст из Datalog.txt в Arduino Mega SDCard на ЖК-экран 20 X 4. Проблема в том, что когда я сохраняю 1 данные на SDCard, данные показывают дублирующую информацию с другим номером.
Например:
- Cat1
Затем, когда я нажимаю sh среднюю кнопку энкодера для следующего отображения данных
Cat1
но когда я проверяю SDCard, это только одна информация: Cat1
Я думаю, что что-то не так, но когда я помещаю вторую информацию (Dog1) на SDCard данные становятся такими, когда я нажимаю sh среднюю кнопку кодера для следующего.
1.Cat1
2.Cat1
3.Dog1
4.Cat1
Вот моя кодировка
// *********************************************************************
int noLog, noLCD;
char msgLog;
String listInformation;
char* txtNext;
char* txtCancel;
void listDataUID(uint8_t param)
// *********************************************************************
{
if (LCDML.FUNC_setup())
{
charLCD("Please Wait...", 0, 1);
cekSDCARD();
delay(2000);
lcd.clear();
noLog = 0;
noLCD = noLog + 1;
pos = 1;
LCDML.FUNC_setLoopInterval(250);
}
if (LCDML.FUNC_loop())
{
if (LCDML.BT_checkUp() || LCDML.BT_checkDown()) {
LCDML.BT_resetUp();
LCDML.BT_resetDown();
pos++;
}
listJurusan = String(noLCD) + ". " + arNM[noLog];
scrollTextLong(listInformation);
lcd.setCursor(0, 1);
lcd.print(F("Timer :"));
lcd.setCursor(8, 1);
lcd.print(arTime[noLog].c_str());
charLCD_2(txtNext, 0, 2);
charLCD_2(txtCancel, 0, 3);
switch (pos) {
case 1:
txtNext = "- Next";
txtCancel = " Cancel";
if (LCDML.BT_checkEnter()) {
lcd.clear();
noLog++;
noLCD++;
}
break;
case 2:
txtNext = " Next";
txtCancel = "- Cancel";
if (LCDML.BT_checkEnter()) {
LCDML.FUNC_goBackToMenu(1);
}
break;
}
}
if (pos > 2) {
pos = 1;
}
if (noLog >= arNM.size()) {
noLog = 0;
noLCD = 1;
}
if (LCDML.FUNC_close())
{
pos = 0;
}
}