Вернуться к библиотеке GSM

 

flush()

Описание

Функция flush() стирает сообщения из памяти модема сразу после отправки всех исходящих символов. Данная функция является наследником вспомогательного класса Stream.

Синтаксис

SMS.flush()

Параметры

нет

Возвращаемые значения

нет

Пример

/*
Получение SMS

 Программа для платы расширения Arduino GSM.
 После запуска ожидает поступления SMS-сообщений
 и выводит текст входящего сообщения через последовательный порт. 

 Схема:
 * GSM-плата расширения

 создано 25 Февраоя 2012
 автор: Javier Zorzano / TD

 Данный пример находится в свободном доступе.
*/

// библиотеки
#include <GSM.h>

// PIN-код
#define PINNUMBER ""

// объявляем экземпляр класса
GSM gsmAccess; // для включения режима отладки добавьте параметр 'true'
GSM_SMS sms;

char remoteNumber[20];  // буфер для хранения входящего номера телефона

void setup() 
{
  // инициализируем последовательный интерфейс передачи данных
  Serial.begin(9600); 

  Serial.println("SMS Messages Receiver");

  // состояние соединения
  boolean notConnected = true;

  // запускаем GSM-плату расширения
  // если на вашей SIM-карте установлен PIN-код - укажите его в качестве параметра функции begin()
  while(notConnected)
  {
    if(gsmAccess.begin(PINNUMBER)==GSM_READY)
      notConnected = false;
    else
    {
      Serial.println("Not connected");
      delay(1000);
    }
  }

  Serial.println("GSM initialized");
  Serial.println("Waiting for messages");
}

void loop() 
{
  char c;

  // если есть непрочитанные SMS  
  if (sms.available())
  {
    Serial.println("Message received from:");

    // получаем входящий номер телефона
    sms.remoteNumber(remoteNumber, 20);
    Serial.println(remoteNumber);

    // Ниже просто показан пример удаления сообщений:
    // Сообщения, начинающиеся с символа "#", необходимо игнорировать
    if(sms.peek()=='#')
    {
      Serial.println("Discarded SMS");
      sms.flush();
    }

    // побайтово считываем и выводим текст сообщения
    while(c=sms.read())
      Serial.print(c);

    Serial.println("\nEND OF MESSAGE");

    // удаляем сообщение из памяти модема
    sms.flush();
    Serial.println("MESSAGE DELETED");
  }

  delay(1000);

}

Смотрите также