2012-05-23 39 views
2

使用Arduino GSM庫獲取經過認證的電話和短信。 我想存儲授權電話號碼的位置(一個字節)而不是電話號碼(多個字節)。Arduino GSM庫的電話號碼位置

但GetAuthorizedSms不給我的位置,只是電話號碼

回答

1

如果您在sms.cpp看你可以看到,他們使用gsm.ComparePhoneNumber(I,pH值)在PHONENUMBER比較上我與一個位置你有。

byte get_phonenr_position(char *ph) 
{ 
    byte i; 
    for(i = 1; i <= 20; i++) 
     if (gsm.ComparePhoneNumber(i, ph)) 
      return i; 
    return 0; 
} 

應該可以工作,但效率不如您必須通過串行接口詢問模塊。我添加了一個變量last_authorizedSMSGSM(和CallGSM)類:

sms.cpp: 
        // phone numbers are identical 
        // authorization is OK 
        // --------------------------- 
+     last_authorized = i; 
        ret_val = GETSMS_AUTH_SMS; 
        break; // and finish authorization 
       } 
sms.h: 
     char GetAuthorizedSMS(byte position, char *phone_number, char *SMS_text, byte max_SMS_len, 
          byte first_authorized_pos, byte last_authorized_pos); 
    char DeleteSMS(byte position); 
+ // set by CallStatusWithAuth 
+ byte last_authorized; 
}; 

和讀取我的SMSGSM實例變量。 (對於CallGSM我也這樣做了)。

+0

謝謝,再次 – user1400924