当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Arduino MKRGSM - voice.retrieveCallingNumber()用法及代码示例


说明

检索主叫号码并存储它。

用法


voice.retrieveCallingNumber(number, size)

参数

number:保存数字的char数组 size:数组的大小

返回

int 在异步模式下,retrieveCallingNumber() 如果最后一条命令仍在执行,则返回 0,如果成功则返回 1,如果有错误,则返回 >1。在同步模式下,如果获取到数字则返回 1,否则返回 0。

示例

#include <MKRGSM.h>

// PIN Number
#define PINNUMBER ""

// initialize the library instance
GSM gsmAccess; // include a 'true' parameter for debug enabled
GSMVoiceCall vcs;

char numtel[20];           // buffer for the incoming call

void setup()
{
  // initialize serial communications
  Serial.begin(9600);
  Serial.println("Receive Voice Call");

  // connection state
  boolean notConnected = true;

  // Start GSM shield
  // If your SIM has PIN, pass it as a parameter of begin() in quotes
  while(notConnected)
  {
    if(gsmAccess.begin(PINNUMBER)==GSM_READY)
      notConnected = false;
    else
    {
      Serial.println("Not connected");
      delay(1000);
    }
  }

  // This makes sure the modem notifies correctly incoming events
  vcs.hangCall();

  Serial.println("Waiting Call");
}

void loop()
{
  // Check the status of the voice call
  switch (vcs.getvoiceCallStatus())
  {
    case IDLE_CALL: // Nothing is happening

      break;

    case CALLING: // This should never happen, as we are not placing a call

      Serial.println("CALLING");
      break;

    case RECEIVINGCALL: // Yes! Someone is calling us

      Serial.println("RECEIVING CALL");

      // Retrieve the calling number
      vcs.retrieveCallingNumber(numtel, 20);

      // Print the calling number
      Serial.print("Number:");
      Serial.println(numtel);

      // Answer the call, establish the call
      vcs.answerCall();        
      break;

    case TALKING:  // In this case the call would be established

      Serial.println("TALKING. Enter line to interrupt.");
      while(Serial.read()!='\n')
        delay(100);
      vcs.hangCall();
      Serial.println("HANG. Waiting Call.");      
      break;
  }
  delay(1000);
}

 

相关用法


注:本文由纯净天空筛选整理自arduino.cc大神的英文原创作品 MKRGSM - voice.retrieveCallingNumber()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。