![](/media/cache/profiles/c4661f6669f5f35823f39acb6d6be725.jpg.50x50_q85.jpg)
2 ports read ang
Fork of VOLTIMETRO1 by
main.cpp@3:61fd3a58c5bf, 2017-11-30 (annotated)
- 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?
User | Revision | Line number | New 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 | } |