Marlon Fulla / Mbed 2 deprecated 2015NOV21_XBEETESTROUT

Dependencies:   mbed

Fork of 2014ENE20_XBEETESTROUT by Marlon Fulla

Committer:
marlonfulla
Date:
Sat Nov 21 22:09:52 2015 +0000
Revision:
2:ff11ef31aee5
Parent:
1:273b1f91d518
Version 2.0 Paper Point-to-point  2015-11-21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marlonfulla 2:ff11ef31aee5 1 /*
marlonfulla 2:ff11ef31aee5 2 Este programa realiza el envio de ntransacciones, cada una conteniendo una cantidad de bytes igual a ncaracteres, donde cada
marlonfulla 2:ff11ef31aee5 3 uno de ellos corresponde a un caracter que por defecto es la letra A. Entre transacciones existe una pausa de tiempo igual a delay para
marlonfulla 2:ff11ef31aee5 4 estudiar el proceso de liberación del buffer de recepción.
marlonfulla 2:ff11ef31aee5 5 */
marlonfulla 0:681c5f49ef09 6 #include "mbed.h"
marlonfulla 0:681c5f49ef09 7 #include <string>
marlonfulla 0:681c5f49ef09 8
marlonfulla 0:681c5f49ef09 9 Serial xbee(USBTX,USBRX);
marlonfulla 1:273b1f91d518 10 Timer reloj;
marlonfulla 0:681c5f49ef09 11
marlonfulla 2:ff11ef31aee5 12 string caracter,transaccion;
marlonfulla 2:ff11ef31aee5 13 int ntransacciones,delay,ncaracteres;
marlonfulla 0:681c5f49ef09 14 char read[64];
marlonfulla 1:273b1f91d518 15 int tiempo;
marlonfulla 0:681c5f49ef09 16
marlonfulla 0:681c5f49ef09 17 int main()
marlonfulla 0:681c5f49ef09 18 {
marlonfulla 2:ff11ef31aee5 19 xbee.baud(115200); // se define la velocidad del UART
marlonfulla 2:ff11ef31aee5 20 caracter="A";
marlonfulla 2:ff11ef31aee5 21 transaccion=""; //se inicializa el string transaccion
marlonfulla 2:ff11ef31aee5 22
marlonfulla 0:681c5f49ef09 23 while(1) {
marlonfulla 0:681c5f49ef09 24
marlonfulla 2:ff11ef31aee5 25 xbee.scanf("%s",read); // se lee el puerto
marlonfulla 2:ff11ef31aee5 26 ncaracteres=atoi(read); // se solicita el numero de caracteres que se empaquetarán en la transacción
marlonfulla 0:681c5f49ef09 27
marlonfulla 2:ff11ef31aee5 28 //se contruye la cadena de caracteres
marlonfulla 0:681c5f49ef09 29 for(int s=1; s<=ncharacters ;s++) {
marlonfulla 0:681c5f49ef09 30 tira=tira.append(caracter);
marlonfulla 0:681c5f49ef09 31 }
marlonfulla 0:681c5f49ef09 32
marlonfulla 0:681c5f49ef09 33 xbee.scanf("%s",read);
marlonfulla 2:ff11ef31aee5 34 ntransacciones=atoi(read); // se solicita el numero de transacciones
marlonfulla 0:681c5f49ef09 35 xbee.scanf("%s",read);
marlonfulla 2:ff11ef31aee5 36 delay=atoi(read); // se solicita el tiempo de pausa entre transacciones
marlonfulla 0:681c5f49ef09 37
marlonfulla 2:ff11ef31aee5 38 reloj.start(); // se inicia el cronometro
marlonfulla 1:273b1f91d518 39
marlonfulla 2:ff11ef31aee5 40 for(int i=1; i<=ntransacciones ;i++) {
marlonfulla 2:ff11ef31aee5 41 xbee.printf("%s",transaccion); // se envia la tira
marlonfulla 2:ff11ef31aee5 42 wait_us(delay); // espera la pausa entre transacciones
marlonfulla 0:681c5f49ef09 43 }
marlonfulla 1:273b1f91d518 44
marlonfulla 2:ff11ef31aee5 45 reloj.stop();
marlonfulla 1:273b1f91d518 46 tiempo=reloj.read_us();
marlonfulla 2:ff11ef31aee5 47 xbee.printf("%d",tiempo); // se reporta el tiempo de envio
marlonfulla 2:ff11ef31aee5 48
marlonfulla 2:ff11ef31aee5 49 // se reinicia las variables
marlonfulla 2:ff11ef31aee5 50 transaccion="";
marlonfulla 2:ff11ef31aee5 51 reloj.reset();
marlonfulla 0:681c5f49ef09 52
marlonfulla 0:681c5f49ef09 53 }
marlonfulla 0:681c5f49ef09 54
marlonfulla 0:681c5f49ef09 55 }