Цикл массива Char - разбиение на отдельные строки - Arduino - PullRequest
2 голосов
/ 18 марта 2020

У меня возникли некоторые трудности с проектом Arduino, над которым я сейчас работаю.

Цель функции, которую я разрабатываю, - взять переменную массива char, полученную через беспроводной модуль NRF, и отделить ее это в 2 разных строковых переменных. Первые 13 символов в одну строку, а остальные в другую.

void receiveData(char* receivedData){ // Function to place the received data into the correct variable.
  for(int i = 0;i < sizeof(receivedData);i++){
    if(i < 13){
      String variableName = variableName + receivedData[i]; // Builds a string of the variablename.
    }
    else{
      String value = value + receivedData[i]; // Builds a string of the value.
    }   
  } 

Я работал несколькими способами, но не повезло.

Любая помощь будет принята с благодарностью, Спасибо !

1 Ответ

3 голосов
/ 18 марта 2020
String variableName = variableName + receivedData[i];

Здесь вы определяете переменную в каждой итерации l oop. Вы должны объявить переменную до l oop:

String variableName;
for () {
    variableName = whatever;
}

Кроме того, sizeof(receivedData) даст вам только размер указателя, а не размер строки, которую вы, вероятно, ожидаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...