Bluetooth comunication, using Freescale, app inventor and a mobile phone.

Dependencies:   mbed

/media/uploads/caarbelaezg/voltimetro.apk /media/uploads/caarbelaezg/voltimetro.aia

Committer:
caarbelaezg
Date:
Fri Apr 24 03:18:03 2015 +0000
Revision:
0:d66493246074
Programa para comunicaci?n bluetooth

Who changed what in which revision?

UserRevisionLine numberNew contents of line
caarbelaezg 0:d66493246074 1 //programa para enviar valores analogos y probarlos con app inventor
caarbelaezg 0:d66493246074 2 //el programa en esta oportunidad manda valores provenientes del puero analogico en
caarbelaezg 0:d66493246074 3 //enteros HEX (xxxx) entre 0 y 1000
caarbelaezg 0:d66493246074 4 //se prueba con voltimetro1 .apk APPINVENTOR. cambie GSM A pc si quere probar directo sobre la pc
caarbelaezg 0:d66493246074 5
caarbelaezg 0:d66493246074 6 #include "mbed.h"
caarbelaezg 0:d66493246074 7 #include <stdio.h>
caarbelaezg 0:d66493246074 8 //#include <conio.h>
caarbelaezg 0:d66493246074 9
caarbelaezg 0:d66493246074 10
caarbelaezg 0:d66493246074 11 DigitalOut LedVerde(LED2);
caarbelaezg 0:d66493246074 12 DigitalOut LedRojo(LED1);
caarbelaezg 0:d66493246074 13 DigitalOut LedAzul(LED3);
caarbelaezg 0:d66493246074 14
caarbelaezg 0:d66493246074 15 Serial GSM(PTE0,PTE1); //puertos del FRDM para el modem
caarbelaezg 0:d66493246074 16 Serial pc(USBTX,USBRX);
caarbelaezg 0:d66493246074 17 int med,num,i,j,k;
caarbelaezg 0:d66493246074 18 AnalogIn input(PTC2);
caarbelaezg 0:d66493246074 19
caarbelaezg 0:d66493246074 20 int main(void)
caarbelaezg 0:d66493246074 21 {
caarbelaezg 0:d66493246074 22
caarbelaezg 0:d66493246074 23 GSM.baud(9600); // asigno baudios y configuro puerto serie de la usart
caarbelaezg 0:d66493246074 24 GSM.format(8,Serial::None,1);
caarbelaezg 0:d66493246074 25
caarbelaezg 0:d66493246074 26 while(1){
caarbelaezg 0:d66493246074 27 //leo puerto analogico
caarbelaezg 0:d66493246074 28 wait(0.5);
caarbelaezg 0:d66493246074 29 num = input*1000; //agrando el numero de cero a mil
caarbelaezg 0:d66493246074 30 //pc.printf("num=%d\n", num);
caarbelaezg 0:d66493246074 31
caarbelaezg 0:d66493246074 32 if(num<256){ //debo generar dos casos a APP inventor solo me recibe hex asi: 0xhhhh (4 cifras)
caarbelaezg 0:d66493246074 33 GSM.putc(0); //si el numero es hasta 255 se le ponen dos ceros adelante a la secuencia de bits
caarbelaezg 0:d66493246074 34 GSM.putc(i); //luego la cifra menos significativa
caarbelaezg 0:d66493246074 35 }
caarbelaezg 0:d66493246074 36 if(num>255){ //pero si es mayor a 255 las cifras deben ser convertidas a un hex de dos bytes de la siguiente forma
caarbelaezg 0:d66493246074 37 j=num/256; //calculo la cifra mas significativa
caarbelaezg 0:d66493246074 38 k=num-j*256; //calculo la cifra menos significativa
caarbelaezg 0:d66493246074 39 GSM.putc(j); //las envio a la usart para que se las ponga al modulo bluetooth y la lleve al android
caarbelaezg 0:d66493246074 40 GSM.putc(k); //mas significativa primero, menos despues si no no funciona!!! y con la orden PUTC solo asi le envia binarios
caarbelaezg 0:d66493246074 41
caarbelaezg 0:d66493246074 42 }
caarbelaezg 0:d66493246074 43 }
caarbelaezg 0:d66493246074 44 }