Arduino:Библиотеки/GSM/Класс GSM SMS/flush()

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.

Библиотека GSM
(Обсуждение Arduino:Библиотеки/GSM#disqus_thread)

Функции:

Функция flush()[1]

Очищает память модема от всех отправленных сообщений после того, как все исходящие символы будут отправлены. Эта функция наследует у класса Stream.

Синтаксис

SMS.flush()

Параметры

Нет.

Что возвращает

Ничего.

Пример

 1 /*
 2  Получатель SMS-сообщений
 3 
 4  Это скетч для GSM-модуля Arduino. 
 5  Он считывает входящие SMS и отображает их через монитор порта. 
 6 
 7  Цепь:
 8  * GSM-модуль 
 9 
10  Создан 25 февраля 2012 года Хавьером Зорзано (Javier Zorzano) / TD
11 
12  Этот скетч не защищен авторским правом.
13 */
14 
15 // библиотеки:
16 #include <GSM.h>
17 
18 // PIN-код:
19 #define PINNUMBER ""
20 
21 // инициализируем экземпляр библиотеки:
22 GSM gsmAccess; // чтобы включить режим отладки, в скобочках нужно поставить параметр «true»
23 GSM_SMS sms;
24 
25 char remoteNumber[20];  // массив для хранения исходящего номера
26 
27 void setup() 
28 {
29   // инициализируем последовательную коммуникацию:
30   Serial.begin(9600); 
31 
32   Serial.println("SMS Messages Receiver");  //  "Получатель SMS-сообщений"
33 
34   // состояние соединения:
35   boolean notConnected = true;
36 
37   // запускаем GSM-модуль; если у SIM-карты есть PIN-код,
38   // вписываем его в скобочки функции begin():
39   while(notConnected)
40   {
41     if(gsmAccess.begin(PINNUMBER)==GSM_READY)
42       notConnected = false;
43     else
44     {
45       Serial.println("Not connected");  //  "Соединение не удалось"
46       delay(1000);
47     }
48   }
49 
50   Serial.println("GSM initialized");  //  "GSM инициализирован"
51   Serial.println("Waiting for messages");  //  "Ожидание сообщений"
52 }
53 
54 void loop() 
55 {
56   char c;
57 
58   // проверяем, есть ли SMS, которые можно прочесть:  
59   if (sms.available())
60   {
61     Serial.println("Message received from:");  //  "Сообщение получено от: "
62 
63     // Извлекаем исходящий номер:
64     sms.remoteNumber(remoteNumber, 20);
65     Serial.println(remoteNumber);
66 
67     // это пример того, как можно отклонить пришедшее SMS;    
68     // в данном случае будут отклонены все SMS, начинающиеся с «#»:
69     if(sms.peek()=='#')
70     {
71       Serial.println("Discarded SMS");  //  "Сообщение отклонено"
72       sms.flush();
73     }
74 
75     // считываем байты сообщения и выводим их на монитор порта:
76     while(c=sms.read())
77       Serial.print(c);
78 
79     Serial.println("\nEND OF MESSAGE");  //  "\nКОНЕЦ СООБЩЕНИЯ"
80 
81     // удаляем сообщение из памяти модема:
82     sms.flush();
83     Serial.println("MESSAGE DELETED");  //  "СООБЩЕНИЕ УДАЛЕНО"
84   }
85 
86   delay(1000);
87 
88 }

См.также

  1. beginSMS()
  2. ready()
  3. endSMS()
  4. available()
  5. remoteNumber()
  6. read()
  7. write()
  8. print()
  9. peek()
  10. flush()

Внешние ссылки