Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

NoName
2016-09-24 17:22:36

замените все что меньше 0x20 пробелом
например так

int len =  strlen (buffer);
for (int foo = 0; foo < len; foo++)
if (buffer[foo] < 0x20 ) buffer[foo] = ' ';

а индикатор вообще может не показывать русские буквы ))
успеха

vvr
2016-09-24 15:19:04

А В СЕРИАЛ ВЫВОДИТСЯ ?

Ми4а
2016-09-24 15:03:21

Здравствуйте.
Бьюсь над проблемой уже который день. Нужна Ваша помощь. А суть проблемы такова. Имеется экран на который надо вывести содержимое текстового файла, который лежит на 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"

Вторая сложность, что русский текст из фаила не отображается.

Подскажите, пожалуйста, как решить эти проблемы.

Підвал форуму