give example to use GPRS Shield library

Dependencies:   GPRS mbed

Fork of GPRS_Shield_Test by wei zou

Committer:
lawliet
Date:
Mon Feb 10 03:25:26 2014 +0000
Revision:
4:f7f516572a4a
Parent:
3:e07b56b8b637
Child:
5:5a40a9da8558
version 2.1 (replace the method of polling with ISR to read SMS message and answering)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lawliet 3:e07b56b8b637 1 /*
lawliet 3:e07b56b8b637 2 main.cpp
lawliet 3:e07b56b8b637 3 2013 Copyright (c) Seeed Technology Inc. All right reserved.
lawliet 3:e07b56b8b637 4
lawliet 3:e07b56b8b637 5 Author:lawliet zou(lawliet.zou@gmail.com)
lawliet 3:e07b56b8b637 6 2014-02-08
lawliet 3:e07b56b8b637 7
lawliet 3:e07b56b8b637 8 This library is free software; you can redistribute it and/or
lawliet 3:e07b56b8b637 9 modify it under the terms of the GNU Lesser General Public
lawliet 3:e07b56b8b637 10 License as published by the Free Software Foundation; either
lawliet 3:e07b56b8b637 11 version 2.1 of the License, or (at your option) any later version.
lawliet 3:e07b56b8b637 12
lawliet 3:e07b56b8b637 13 This library is distributed in the hope that it will be useful,
lawliet 3:e07b56b8b637 14 but WITHOUT ANY WARRANTY; without even the implied warranty of
lawliet 3:e07b56b8b637 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
lawliet 3:e07b56b8b637 16 Lesser General Public License for more details.
lawliet 3:e07b56b8b637 17
lawliet 3:e07b56b8b637 18 You should have received a copy of the GNU Lesser General Public
lawliet 3:e07b56b8b637 19 License along with this library; if not, write to the Free Software
lawliet 3:e07b56b8b637 20 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
lawliet 3:e07b56b8b637 21 */
lawliet 0:53b4a13adcfb 22 #include "mbed.h"
lawliet 0:53b4a13adcfb 23 #include "gprs.h"
lawliet 0:53b4a13adcfb 24
lawliet 3:e07b56b8b637 25
lawliet 3:e07b56b8b637 26 //#define SEEEDUINO_ARCH
lawliet 3:e07b56b8b637 27 #define SEEEDUINO_ARCH_PRO
lawliet 3:e07b56b8b637 28
lawliet 3:e07b56b8b637 29 #if defined(SEEEDUINO_ARCH)
lawliet 3:e07b56b8b637 30 #define GPRS_TX_PIN P0_19
lawliet 3:e07b56b8b637 31 #define GPRS_RX_PIN P0_18
lawliet 3:e07b56b8b637 32 #elif defined(SEEEDUINO_ARCH_PRO)
lawliet 3:e07b56b8b637 33 #define GPRS_TX_PIN P4_28
lawliet 3:e07b56b8b637 34 #define GPRS_RX_PIN P4_29
lawliet 3:e07b56b8b637 35 #else
lawliet 3:e07b56b8b637 36 #define GPRS_TX_PIN P0_19
lawliet 3:e07b56b8b637 37 #define GPRS_RX_PIN P0_18
lawliet 3:e07b56b8b637 38 #endif
lawliet 3:e07b56b8b637 39
lawliet 4:f7f516572a4a 40 #define SEND_SMS_TEST 0
lawliet 0:53b4a13adcfb 41 #define CALL_UP_TEST 0
lawliet 0:53b4a13adcfb 42 #define ANSWER_TEST 0
lawliet 0:53b4a13adcfb 43 #define READ_SMS_TEST 0
lawliet 0:53b4a13adcfb 44
lawliet 3:e07b56b8b637 45 #define BAUD_RATE 19200 // Baud rate of GPRS Shield
lawliet 3:e07b56b8b637 46 #define PHONE_NUMBER "159****4951"
lawliet 0:53b4a13adcfb 47
lawliet 3:e07b56b8b637 48 GPRS gprsTest(GPRS_TX_PIN, GPRS_RX_PIN, BAUD_RATE, PHONE_NUMBER);
lawliet 0:53b4a13adcfb 49
lawliet 4:f7f516572a4a 50 void messageHandle(void)
lawliet 4:f7f516572a4a 51 {
lawliet 4:f7f516572a4a 52 __disable_irq();
lawliet 4:f7f516572a4a 53 int messageType = gprsTest.loopHandle();
lawliet 4:f7f516572a4a 54 if(MESSAGE_RING == messageType) {
lawliet 4:f7f516572a4a 55 gprsTest.answer();
lawliet 4:f7f516572a4a 56 } else if(MESSAGE_SMS == messageType) {
lawliet 4:f7f516572a4a 57 char smsMessage[SMS_MAX_LENGTH];
lawliet 4:f7f516572a4a 58 gprsTest.getSMS(smsMessage);
lawliet 4:f7f516572a4a 59 }
lawliet 4:f7f516572a4a 60 __enable_irq();
lawliet 4:f7f516572a4a 61 }
lawliet 4:f7f516572a4a 62
lawliet 0:53b4a13adcfb 63 int main(void)
lawliet 0:53b4a13adcfb 64 {
lawliet 3:e07b56b8b637 65 while(0 != gprsTest.init()) {
lawliet 3:e07b56b8b637 66 wait(2);
lawliet 0:53b4a13adcfb 67 }
lawliet 0:53b4a13adcfb 68
lawliet 2:3b735ebe88b0 69 #if SEND_SMS_TEST
lawliet 3:e07b56b8b637 70 gprsTest.sendSMS(PHONE_NUMBER,"hello world"); //define phone number and text
lawliet 2:3b735ebe88b0 71 #endif
lawliet 0:53b4a13adcfb 72
lawliet 2:3b735ebe88b0 73 #if CALL_UP_TEST
lawliet 3:e07b56b8b637 74 gprsTest.callUp(PHONE_NUMBER);
lawliet 2:3b735ebe88b0 75 #endif
lawliet 0:53b4a13adcfb 76
lawliet 2:3b735ebe88b0 77 #if ANSWER_TEST || READ_SMS_TEST
lawliet 4:f7f516572a4a 78 gprsTest.gprsSerial.attach(&messageHandle);
lawliet 2:3b735ebe88b0 79 #endif
lawliet 4:f7f516572a4a 80 while(1){wait(1);}
lawliet 0:53b4a13adcfb 81 return 0;
lawliet 0:53b4a13adcfb 82 }
lawliet 0:53b4a13adcfb 83
lawliet 1:65d3c8a4a166 84
lawliet 3:e07b56b8b637 85