This program send an AT command to the HC05 module and shows the response into a terminal.

Dependencies:   mbed-src MODSERIAL

Notebook page HERE

Committer:
edodm85
Date:
Thu May 31 19:52:52 2012 +0000
Revision:
0:7bb229e58814
Child:
1:a11db105c379

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
edodm85 0:7bb229e58814 1 /*
edodm85 0:7bb229e58814 2 * Author: Edoardo De Marchi
edodm85 0:7bb229e58814 3 * Date: 31-05-12
edodm85 0:7bb229e58814 4 * Notes: AT command
edodm85 0:7bb229e58814 5 */
edodm85 0:7bb229e58814 6
edodm85 0:7bb229e58814 7 #include "mbed.h"
edodm85 0:7bb229e58814 8 #include "MODSERIAL.h"
edodm85 0:7bb229e58814 9
edodm85 0:7bb229e58814 10
edodm85 0:7bb229e58814 11 MODSERIAL pc(USBTX, USBRX); // tx, rx
edodm85 0:7bb229e58814 12 MODSERIAL blue(p9,p10); // HC05
edodm85 0:7bb229e58814 13 DigitalOut led1(LED1);
edodm85 0:7bb229e58814 14 DigitalOut led4(LED4);
edodm85 0:7bb229e58814 15
edodm85 0:7bb229e58814 16
edodm85 0:7bb229e58814 17 void commandAT(char *v){
edodm85 0:7bb229e58814 18
edodm85 0:7bb229e58814 19 int i=0;
edodm85 0:7bb229e58814 20
edodm85 0:7bb229e58814 21 while(v[i] != NULL){
edodm85 0:7bb229e58814 22 blue.putc(v[i]);
edodm85 0:7bb229e58814 23 i++;
edodm85 0:7bb229e58814 24 }
edodm85 0:7bb229e58814 25
edodm85 0:7bb229e58814 26 blue.printf("\r\n");
edodm85 0:7bb229e58814 27 }
edodm85 0:7bb229e58814 28
edodm85 0:7bb229e58814 29
edodm85 0:7bb229e58814 30 // This function is called when a character goes into the RX buffer.
edodm85 0:7bb229e58814 31 void rxCallback(MODSERIAL_IRQ_INFO *q) {
edodm85 0:7bb229e58814 32 led4 = !led4;
edodm85 0:7bb229e58814 33 pc.putc(blue.getc());
edodm85 0:7bb229e58814 34 }
edodm85 0:7bb229e58814 35
edodm85 0:7bb229e58814 36
edodm85 0:7bb229e58814 37 int main(){
edodm85 0:7bb229e58814 38
edodm85 0:7bb229e58814 39 blue.baud(38400);
edodm85 0:7bb229e58814 40 pc.baud(115200);
edodm85 0:7bb229e58814 41
edodm85 0:7bb229e58814 42 char s[80];
edodm85 0:7bb229e58814 43
edodm85 0:7bb229e58814 44 while(1){
edodm85 0:7bb229e58814 45 pc.printf("Command: ");
edodm85 0:7bb229e58814 46 pc.scanf("%s",s);
edodm85 0:7bb229e58814 47
edodm85 0:7bb229e58814 48 wait_us(100);
edodm85 0:7bb229e58814 49
edodm85 0:7bb229e58814 50 commandAT(s);
edodm85 0:7bb229e58814 51 wait_us(100);
edodm85 0:7bb229e58814 52
edodm85 0:7bb229e58814 53 pc.printf("Response: ");
edodm85 0:7bb229e58814 54
edodm85 0:7bb229e58814 55 blue.attach(&rxCallback, MODSERIAL::RxIrq);
edodm85 0:7bb229e58814 56 wait(1);
edodm85 0:7bb229e58814 57 }
edodm85 0:7bb229e58814 58 }