envio teste

Dependencies:   C12832 XBeeGetRssi mbed xbee_lib

Files at this revision

API Documentation at this revision

Comitter:
mbastos
Date:
Wed Jun 24 19:06:55 2015 +0000
Commit message:
teste comunica??o

Changed in this revision

C12832.lib Show annotated file Show diff for this revision Revisions of this file
XBeeGetRssi.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
xbee_lib.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/C12832.lib	Wed Jun 24 19:06:55 2015 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/chris/code/C12832/#7de323fa46fe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/XBeeGetRssi.lib	Wed Jun 24 19:06:55 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/ATKINZ117/code/XBeeGetRssi/#e2fd29cb22d7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Jun 24 19:06:55 2015 +0000
@@ -0,0 +1,145 @@
+#include "mbed.h"
+#include "C12832.h"
+
+Serial pc(USBTX, USBRX); // tx, rx
+Serial xbee1(p9,p10);
+DigitalOut rst1(p11); //Digital reset for the XBee, 200ns for reset
+Serial serial (p9,p10);
+C12832 lcd(p5, p7, p6, p8, p11); //C12832(PinName mosi, PinName sck, PinName reset, PinName a0, PinName ncs, const char* name = "LCD");
+
+
+//variaveis globais
+int rssi=0;
+int atdb=0;
+int recepcao;
+char mens[20];
+char mens1[20];
+unsigned char cont=0;
+unsigned char cont1=0;
+unsigned char tam=0;
+unsigned char cks=0;
+unsigned char estado=0;
+unsigned char estado1=0;
+//unsigned char rssi=0;
+unsigned char temp=0;
+unsigned char temp1=0;
+
+
+
+int main(void){
+   
+    xbee1.baud(9600);
+    pc.baud(9600);
+    lcd.locate(0,3);
+    while(1){
+         switch(estado){
+            case 0:
+                  INI:
+                  while(!xbee1.readable()){
+                      lcd.locate(0,0);
+                      lcd.cls();
+                      lcd.printf("Aguardando...");
+                  }
+                  temp = xbee1.getc();
+                  if(temp==0x7E){
+                       cont=0;
+                  }
+                  mens[cont]=temp;
+                  //lcd.locate(0,0);
+                  //lcd.cls();
+                  //lcd.printf("Recebeu %x cont=%d",temp,cont);//debug - recebeu o primeiro caracter?
+                  //wait(0.5);
+                  temp = 0;
+                  cont++;
+                  if(cont==(mens[2]+4)){  //compara o tamanho enviado + 4 bytes (1 de inicio,2 de tamanho e checksum) para
+                        estado = 1;       //  verificar se chegou ao final do frame, de maneira dinâmica
+                        //lcd.cls();
+                        //lcd.locate(0,10);
+                        //lcd.printf("Frame 1 - Completo");//debug - completou o frame?
+                        //wait(0.5);
+                        }
+            break;
+            case 1:  //montou o primeiro pacote 
+                  //lcd.locate(0,20);
+                  //lcd.printf("M[%x %x %x %x %x %x %x %x %x %x  ]",mens[0],mens[1],mens[2],mens[3],mens[4],mens[5],mens[6],mens[7],mens[8],mens[9]);//debug - recebeu o primeiro caracter?
+                  //wait(7);//debug
+                  
+                  //lcd.locate(0,0);
+                  //lcd.cls();//debug
+                  //lcd.printf("Verificando...");
+                  //wait(0.5);
+                  REP: xbee1.printf("%c%c%c%c%c%c%c%c",0x7E,0X00,0X04,0X08,0X01,0X64,0X62,0X30);
+                  //wait(2);
+                  //lcd.locate(0,10);
+                  //lcd.cls();//debug
+                  //lcd.printf("passou.");
+                  //wait(1);
+                  while (atdb==0){
+                    switch(estado1){
+                        case 0:
+                            while(!xbee1.readable()){
+                                    lcd.locate(0,0);
+                                    lcd.cls();
+                                    lcd.printf("Aguardando ATDB...");
+                            }
+                            temp1 = xbee1.getc();//gets(temp);
+                            if(temp1==0x7E){
+                                cont1=0;
+                            }
+                            mens1[cont1]=temp1;
+                            //lcd.locate(0,0);
+                            //lcd.cls();
+                            //lcd.printf("Recebeu %x ATDB=%d",temp1,cont1);//debug - recebeu o primeiro caracter?
+                            //wait(1);
+                            temp1 = 0;
+                            cont1++;
+                            if(cont1==(mens1[2]+4)){
+                                    estado1 = 1;
+                                    //lcd.locate(0,10);
+                                    //lcd.cls();
+                                    //lcd.printf("Frame 2 - Completo");//debug - completou o frame?
+                                    //wait(0.5);
+                            }
+                            break;
+                        case 1: //ja montou o frame AT response
+                                atdb=1;
+                                switch(mens1[3]){
+                                        case 0x88:
+                                                lcd.locate(0,10);
+                                                lcd.cls();
+                                                lcd.printf("Frame ATDB:mens1[3]=%x",mens1[3]);//debug para confirmar frame ATDB
+                                                //wait(1);
+                                                rssi=mens1[8];
+                                                lcd.locate(0,10);
+                                                lcd.cls();
+                                                lcd.printf("RSSI=%x",mens1[8]);//debug para confirmar frame ATDB
+                                                wait(0.1);
+                                                estado=0;
+                                                cont=0;
+                                                atdb=0;
+                                                goto INI;
+                                            break;
+                                        default:
+                                                estado1=0;
+                                                cont1=0;
+                                                temp1=0;
+                                                lcd.locate(0,10);
+                                                lcd.cls();
+                                                lcd.printf("ERRO: Nao eh ATDB:mens1[3]=%x",mens1[3]);//debug para confirmar frame ATDB
+                                                wait(1);
+                                                estado=0;
+                                                cont=0;
+                                                atdb=0;
+                                                goto INI;                          
+                           }//fecha switch mensg[3]=0x88
+                        break;
+                    }//fecha switch estado1
+                }//fecha while atdb 
+                break;
+            }//fecha switch estado           
+                        
+            
+    }//fecha while1
+}//fecha int main()
+
+                      
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Jun 24 19:06:55 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/cd19af002ccc
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xbee_lib.lib	Wed Jun 24 19:06:55 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/tristanjph/code/xbee_lib/#ede20c047d8b