Функція getVoiceCallStatus()
Клас GSMVoiceCall
getVoiceCallStatus()
Повертає статус голосового дзвінка.
Синтаксис
voice.getVoiceCallStatus()Параметри
немаПовертає
char: IDLE_CALL, CALLING, RECEIVINGCALL, TALKINGПриклад
// бібліотеки
#include <GSM.h>
// PIN-номер
#define PINNUMBER ""
// ініціалізувати приклад бібліотеки
GSM gsmAccess; // включити параметр істини для активації налагодження
GSMVoiceCall vcs;
char numtel[20]; // буфер для вхідного дзвінка
void setup()
{
// ініціалізувати послідовні зв’язки
Serial.begin(9600);
Serial.println("Отримати голосовий дзвінок");
// стан підключення
boolean notConnected = true;
// Розпочати роботу GSM-шилда
// Якщо SIM має PIN, передайте його як параметр begin () у лапках
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Не підключено");
delay(1000);
}
}
// гарантує, що модем повідомляє про вхідні події належним чином
vcs.hangCall();
Serial.println("Очікування дзвінка");
}
void loop()
{
// Перевірити статус голосового дзвінка
switch (vcs.getvoiceCallStatus())
{
case IDLE_CALL: // Нічого не стається
break;
case CALLING: // Це не повинно ставатися, так як ми не телефонуємо
Serial.println("Виклик");
break;
case RECEIVINGCALL: // Так! Хтось дзвонить нам
Serial.println("Отримання дзвінка");
// Отримати номер абонента
vcs.retrieveCallingNumber(numtel, 20);
// Надрукувати номер, з якого йде виклик
Serial.print("Номер:");
Serial.println(numtel);
// Відповісти на дзвінок, встановити виклик
vcs.answerCall();
break;
case TALKING: // У цьому випадку виклик буде встановлено
Serial.println("Розмова.Введіть рядок для переривання.");
while(Serial.read()!='\n')
delay(100);
vcs.hangCall();
Serial.println("Утримання. Очікування Дзвінка.");
break;
}
delay(1000);
}Повернутись до головної

Коментарі 0