//РЕЖИМ ЧТЕНИЯ
if(readbt_state == HIGH && nastrbt_state == LOW){
myFile = SD.open("tir5.txt");
if (myFile)
{
myFile.seek(var);
char tmpstr[20]="";
char tmpstrlen=0;
while (myFile.available()) { // читаем первую строку
tmpstr[tmpstrlen]=myFile.read();
if ((tmpstr[tmpstrlen]=='\n')||(tmpstr[tmpstrlen]=='\r')) break;
tmpstrlen++;
}
lcd.setCursor(0,0);
lcd.print(tmpstr);
tmpstr[tmpstrlen]=0;
while (myFile.available()) { // гоним до следующей строки, пока не пропустим все переводы строки
char ch=myFile.read();
if ((ch!='\n')&&(ch!='\r')) break;
}
tmpstrlen=0;
while (myFile.available()) {// читаем вторую строку
tmpstr[tmpstrlen]=myFile.read();
if ((tmpstr[tmpstrlen]=='\n')||(tmpstr[tmpstrlen]=='\r')) break;
tmpstrlen++;
}
lcd.setCursor(0,1);
lcd.print(tmpstr);
tmpstr[tmpstrlen]=0;
while (myFile.available()) { // гоним до следующей строки, пока не пропустим все переводы строки
char ch=myFile.read();
if ((ch!='\n')&&(ch!='\r')) break;
}
tmpstrlen=0;
while (myFile.available()) { // читаем 3 строку
tmpstr[tmpstrlen]=myFile.read();
if ((tmpstr[tmpstrlen]=='\n')||(tmpstr[tmpstrlen]=='\r')) break;
tmpstrlen++;
}
lcd.setCursor(0,2);
lcd.print(tmpstr);
tmpstr[tmpstrlen]=0;
while (myFile.available()) { // гоним до следующей строки, пока не пропустим все переводы строки
char ch=myFile.read();
if ((ch!='\n')&&(ch!='\r')) break;
}
tmpstrlen=0;
while (myFile.available()) {// читаем 4 строку
tmpstr[tmpstrlen]=myFile.read();
if ((tmpstr[tmpstrlen]=='\n')||(tmpstr[tmpstrlen]=='\r')) break;
tmpstrlen++;
}
lcd.setCursor(0,3);
lcd.print(tmpstr);
tmpstr[tmpstrlen]=0;
myFile.close();
myFile.close();
}
// обрабатываем кнопки menuup_flag
if(output3_1 == LOW && menuup_flag==0)
{
menuup_flag=1;
}
if (output3_1 == HIGH && menuup_flag==1)
{
if (firststr > 0) firststr - 3;
var = var - 60;
lcd.clear();
menuup_flag=0;
}
if (output3_2 == LOW && menudown_flag==0)
{
menudown_flag=1;
}
if (output3_2 == HIGH && menudown_flag==1)
{
if (firststr < 300) firststr+3; // если уже стоим на предпоследней строке, дальше двигаться нельзя.
menudown_flag=0;
var = var + 60;
lcd.clear();
}
}
char tmpstr[16];
замени на
char tmpstr[16]="";
Приучай себя инициализировать перемененные перед использованием.
char tmpstr[16]=""; а что в кавычках прописать?
Приучай себя инициализировать перемененные перед использованием.
Для чего это нужно?
Кавычки пустые. Нужно чтобы при обращении к переменной не было ошибки доступа.
понял, спасибо большое
вроде разобрался наконец))