Вопрос по оптимизации кода
- Войдите на сайт для отправки комментариев
Сб, 02/01/2016 - 10:32
Всех с Новым Годом! Мужики, подскажите такой момент: использую 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);
}
Разницы абсолютно никакой, что по памяти, что по выполнению.
Единственное, что можно сделать, это создать 1 функцию, вместо 6-ти, и посылать в неё строки.
Благодарю за ответ!