P
P
Platon Stepanov2020-07-28 09:20:00
Arduino
Platon Stepanov, 2020-07-28 09:20:00

Error translating a stream of bytes (characters) into a string on Arduino (I attach the code). I don't understand what's the problem?

Hello. There's a bug here, I just can't figure it out.

String AccountsData[100][3];

for(int i=0; i < LenAccountsData; i++) {
      for(int j=0; j < 3; j++) {
        AccountsData[i][j] = ""; // Строка куда будем складывать слово(ячейка массива).
        while(true) {
          char sim = char(EEPROM.read(ReadAddressEEPROM)); // новый символ читаемый из памяти EEPROM
          ReadAddressEEPROM++;
          BootKeyboard.print(sim); // Вот этот вывод работает как надо, то есть в памяти и чтении ошибок нет
          if(sim == ',') { break; } // конец "слова" по знаку ','
          AccountsData[i][j] += sim; // Вот тут баг. Как только не пробывал. Надо эти Char'ы сложить в строку, но не работает
        }
        BootKeyboard.println(AccountsData[i][j]); // Здесь в строке оказывается только первый символ из слова. Почему???
      }
      ReadAddressEEPROM++;
      BootKeyboard.println("");
    }

Answer the question

In order to leave comments, you need to log in

1 answer(s)
P
Platon Stepanov, 2020-07-28
@StepanovPlaton

Thank you all very much. The problem was solved with the following code

byte input = EEPROM.read(ReadAddressEEPROM);
char sim = char(input);

I wanted to display the bytes themselves, and for this I parsed the string . As a result, everything worked. To be honest, I didn't understand anything. I would like to thank everyone who wanted to help
char sim = char( EEPROM.read(ReadAddressEEPROM));

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question