Ви не увійшли.
замените все что меньше 0x20 пробелом
например так
int len = strlen (buffer);
for (int foo = 0; foo < len; foo++)
if (buffer[foo] < 0x20 ) buffer[foo] = ' ';
а индикатор вообще может не показывать русские буквы ))
успеха
А В СЕРИАЛ ВЫВОДИТСЯ ?
Здравствуйте.
Бьюсь над проблемой уже который день. Нужна Ваша помощь. А суть проблемы такова. Имеется экран на который надо вывести содержимое текстового файла, который лежит на sd карте.
#include <LiquidCrystalRus.h>
#include <SPI.h>
#include <SD.h>
#define backlight_Pin 5
File myFile;
LiquidCrystalRus lcd(11, 10, 9, 8, 7, 6);
void setup()
{
pinMode(backlight_Pin, OUTPUT);
lcd.begin(20, 4);
String buffer;
digitalWrite(backlight_Pin, HIGH);
byte y = 0;
Serial.begin(9600);
pinMode(53, OUTPUT);
if (myFile) {
Serial.println("0000.txt:");
// считываем все данные из файла:
while (myFile.available()) {
buffer = myFile.readStringUntil('\n');
Serial.println(buffer);
lcd.print(buffer);
y++;
lcd.setCursor(0, y);
}
// закрываем файл:
myFile.close();
lcd.display();
}
}
void loop()
{
// после setup ничего не происходит
}
Столкнулся с двумя сложностями.
На экран выводится символ конца строки из фаила 0000.txt. Что выглядит примерно как
Test texti
Теst texti
Т.е. на экран передается '\n', который отображается, как "i"
Вторая сложность, что русский текст из фаила не отображается.
Подскажите, пожалуйста, как решить эти проблемы.