2 ports read ang

Dependencies:   mbed

Fork of VOLTIMETRO1 by Gustavo Ramirez

Committer:
kolive360
Date:
Thu Nov 30 21:20:27 2017 +0000
Revision:
3:61fd3a58c5bf
Parent:
2:8a0e46a84596
ang read two ports serial

Who changed what in which revision?

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