Вопрос по оптимизации кода

Andrey-S
Offline
Зарегистрирован: 02.01.2015

Всех с Новым Годом! Мужики, подскажите такой момент: использую SIM900 для мониторинга и в коде существуют штук 6 функций для отправки СМС типа:

void SMS1(){
    Serial.print("AT+CMGF=1\r");    //***
    delay(150); // даём время на усваивание команды
    // Устанавливаем адресата: телефонный номер в международном формате
    Serial.println("AT + CMGS = \"+79123456790\"");//***
    delay(150);
    // Пишем текст сообщения
    Serial.println("OK! T<75*C");
    delay(150);
    // Отправляем Ctrl+Z, обозначая, что сообщение готово
  Serial.println((char)26);
}

 Естественно, все эти 6 функций одинаковы по командам, а меняется только текст сообщения. Возник вопрос, а правильно ли будет с точки зрения оптимизации создать, к примеру, такой массивчик:

char* myChar[]={"AT+CMGF=1\r","AT + CMGS = \"+791234567890\"" };

И просто подставлять его в код вот так???:

void SMS(){
    Serial.print(myChar[0]);
    delay(150); // даём время на усваивание команды
    // Устанавливаем адресата: телефонный номер в международном формате
    Serial.println(myChar[1]);
    delay(150);
    // Пишем текст сообщения
    Serial.println("OK! T<75*C");
    delay(150);
    // Отправляем Ctrl+Z, обозначая, что сообщение готово
  Serial.println((char)26);
}

 

Alexino
Offline
Зарегистрирован: 29.12.2015

Разницы абсолютно никакой, что по памяти, что по выполнению.
Единственное, что можно сделать, это создать 1 функцию, вместо 6-ти, и посылать в неё строки.

Andrey-S
Offline
Зарегистрирован: 02.01.2015

Благодарю за ответ!