give example to use GPRS Shield library
Fork of GPRS_Shield_Test by
main.cpp@4:f7f516572a4a, 2014-02-10 (annotated)
- 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?
User | Revision | Line number | New 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 |