Функція peek()

Документація

Клас GSM_SMS

peek()

Повертає наступний байт (символ) вхідного SMS без видалення його з повідомлення. Тобто успішні виклики peek() повертатимуть той самий символ, що й наступний виклик read(). peek() переймається від допоміжного класу Stream.

Синтаксис
SMS.peek()

Параметри
нема

Повертає
int — перший доступний байт SMS-помідомлення (або -1, якщо нема доступних даних)

Приклад
// бібліотеки
#include <GSM.h>

// PIN-номер
#define PINNUMBER ""

// ініціалізувати приклад бібліотеки
GSM gsmAccess; // включити параметр істини для активації налагодження
GSM_SMS sms;

char remoteNumber[20];  // утримує емітоване число

void setup() 
{
  // ініціалізувати послідовні зв’язки
  Serial.begin(9600); 

  Serial.println("Отримувач SMS-повідомлень");

  // стан підключення
  boolean notConnected = true;

    // Розпочати роботу GSM-шилда
  // Якщо SIM має PIN, передайте його як параметр begin () у лапках
  while(notConnected)
  {
    if(gsmAccess.begin(PINNUMBER)==GSM_READY)
      notConnected = false;
    else
    {
      Serial.println(""Не підключено");
      delay(1000);
    }
  }

  Serial.println("GSM ініціалізовано");
  Serial.println("Очікування повідомлень");
}

void loop() 
{
  char c;

  // Якщо є доступні SMS
  if (sms.available())
  {
    Serial.println("Повідомлення отримані від:");

    // Отримати віддалений номер
    sms.remoteNumber(remoteNumber, 20);
    Serial.println(remoteNumber);

      // Це просто приклад передачі повідомлення   
    // Повідомлення, що починаються з #, мають бути відкинуті
    if(sms.peek()=='#')
    {
      Serial.println("Відкинуті SMS");
      sms.flush();
    }

    // Читати байти повідомлень та друкувати їх
    while(c=sms.read())
      Serial.print©;

    Serial.println("\nКінець повідомлення");

    // видалити повідомлення з пам’яті модема
    sms.flush();
    Serial.println("Повідомлення видалено");
  }

  delay(1000);

}

Повернутись до головної

Коментарі 0

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.