Hamza BENDALI BRAHAM
/
Nucleo_SIM900
Sim900 Test
main.cpp@0:b3b255a647de, 2014-04-23 (annotated)
- Committer:
- hbendali
- Date:
- Wed Apr 23 20:40:11 2014 +0000
- Revision:
- 0:b3b255a647de
Sim900 test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hbendali | 0:b3b255a647de | 1 | #include "mbed.h" |
hbendali | 0:b3b255a647de | 2 | #include <string> |
hbendali | 0:b3b255a647de | 3 | string result; |
hbendali | 0:b3b255a647de | 4 | |
hbendali | 0:b3b255a647de | 5 | //------------------------------------ |
hbendali | 0:b3b255a647de | 6 | // Hyperterminal configuration |
hbendali | 0:b3b255a647de | 7 | // 19200 bauds, 8-bit data, no parity |
hbendali | 0:b3b255a647de | 8 | //------------------------------------ |
hbendali | 0:b3b255a647de | 9 | |
hbendali | 0:b3b255a647de | 10 | Serial pc(SERIAL_TX, SERIAL_RX); |
hbendali | 0:b3b255a647de | 11 | Serial sim(PA_9, PA_10); |
hbendali | 0:b3b255a647de | 12 | |
hbendali | 0:b3b255a647de | 13 | DigitalIn mybutton(USER_BUTTON); |
hbendali | 0:b3b255a647de | 14 | DigitalOut myled(LED1); |
hbendali | 0:b3b255a647de | 15 | DigitalOut sim_power(D9); |
hbendali | 0:b3b255a647de | 16 | |
hbendali | 0:b3b255a647de | 17 | void sim_callback() |
hbendali | 0:b3b255a647de | 18 | { |
hbendali | 0:b3b255a647de | 19 | char x; |
hbendali | 0:b3b255a647de | 20 | x = sim.getc(); |
hbendali | 0:b3b255a647de | 21 | result += x; |
hbendali | 0:b3b255a647de | 22 | pc.putc(x); |
hbendali | 0:b3b255a647de | 23 | } |
hbendali | 0:b3b255a647de | 24 | |
hbendali | 0:b3b255a647de | 25 | void sim_call(string tel) |
hbendali | 0:b3b255a647de | 26 | { |
hbendali | 0:b3b255a647de | 27 | sim.printf("AT\r\n"); |
hbendali | 0:b3b255a647de | 28 | result = ""; |
hbendali | 0:b3b255a647de | 29 | wait(0.5); |
hbendali | 0:b3b255a647de | 30 | if(result!="\r\nOK\r\n") { |
hbendali | 0:b3b255a647de | 31 | sim_power.write(1); |
hbendali | 0:b3b255a647de | 32 | wait(3); |
hbendali | 0:b3b255a647de | 33 | sim_power.write(0); |
hbendali | 0:b3b255a647de | 34 | wait(19); |
hbendali | 0:b3b255a647de | 35 | sim.printf("ATE0\r\n"); |
hbendali | 0:b3b255a647de | 36 | wait(1); |
hbendali | 0:b3b255a647de | 37 | } |
hbendali | 0:b3b255a647de | 38 | |
hbendali | 0:b3b255a647de | 39 | sim.printf("ATD %s;\r\n",tel); |
hbendali | 0:b3b255a647de | 40 | result = ""; |
hbendali | 0:b3b255a647de | 41 | wait(1); |
hbendali | 0:b3b255a647de | 42 | if(result=="\r\nOK\r\n") { |
hbendali | 0:b3b255a647de | 43 | pc.printf("Call OK\r\n"); |
hbendali | 0:b3b255a647de | 44 | } else { |
hbendali | 0:b3b255a647de | 45 | pc.printf("Call Field\r\n"); |
hbendali | 0:b3b255a647de | 46 | } |
hbendali | 0:b3b255a647de | 47 | } |
hbendali | 0:b3b255a647de | 48 | |
hbendali | 0:b3b255a647de | 49 | int main() |
hbendali | 0:b3b255a647de | 50 | { |
hbendali | 0:b3b255a647de | 51 | set_time(1398285720); // Set time to 04/23/2014 @ 7:13pm |
hbendali | 0:b3b255a647de | 52 | |
hbendali | 0:b3b255a647de | 53 | sim.attach(&sim_callback); |
hbendali | 0:b3b255a647de | 54 | |
hbendali | 0:b3b255a647de | 55 | pc.baud(19200); |
hbendali | 0:b3b255a647de | 56 | sim.baud(19200); |
hbendali | 0:b3b255a647de | 57 | |
hbendali | 0:b3b255a647de | 58 | pc.printf("\r\nTest SIM900 !\r\n"); |
hbendali | 0:b3b255a647de | 59 | |
hbendali | 0:b3b255a647de | 60 | sim_call("*710#"); |
hbendali | 0:b3b255a647de | 61 | |
hbendali | 0:b3b255a647de | 62 | while(1) { |
hbendali | 0:b3b255a647de | 63 | wait(1); |
hbendali | 0:b3b255a647de | 64 | //pc.printf("."); |
hbendali | 0:b3b255a647de | 65 | myled = !myled; |
hbendali | 0:b3b255a647de | 66 | if (!mybutton) |
hbendali | 0:b3b255a647de | 67 | sim_call("+213552830677"); |
hbendali | 0:b3b255a647de | 68 | |
hbendali | 0:b3b255a647de | 69 | time_t seconds = time(NULL); |
hbendali | 0:b3b255a647de | 70 | pc.printf("%s", ctime(&seconds)); |
hbendali | 0:b3b255a647de | 71 | |
hbendali | 0:b3b255a647de | 72 | |
hbendali | 0:b3b255a647de | 73 | } |
hbendali | 0:b3b255a647de | 74 | } |