Xbee receiver

Dependencies:   C12832 mbed

Committer:
nnoitre
Date:
Wed Mar 23 11:50:42 2016 +0000
Revision:
1:30d319218526
Parent:
0:b78d22fdc409
Child:
2:d7d8778f9780
Ne version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nnoitre 0:b78d22fdc409 1 #include "mbed.h"
nnoitre 1:30d319218526 2 #include "C12832.h"
nnoitre 0:b78d22fdc409 3
nnoitre 0:b78d22fdc409 4 DigitalOut myled1(LED1);
nnoitre 0:b78d22fdc409 5 DigitalOut myled2(LED2);
nnoitre 0:b78d22fdc409 6 DigitalOut myled3(LED3);
nnoitre 0:b78d22fdc409 7 DigitalOut myled4(LED4);
nnoitre 0:b78d22fdc409 8
nnoitre 1:30d319218526 9 Serial xbee(p9,p10);
nnoitre 1:30d319218526 10 //DigitalOut nReset(p30); //reset pin of the xbee
nnoitre 1:30d319218526 11
nnoitre 1:30d319218526 12 C12832 lcd(p5, p7, p6, p8, p11); //Used for the LCD
nnoitre 0:b78d22fdc409 13
nnoitre 1:30d319218526 14 char a;
nnoitre 1:30d319218526 15 int ID=0b00000001;
nnoitre 1:30d319218526 16 int ACK;
nnoitre 1:30d319218526 17 int teller;
nnoitre 1:30d319218526 18 char received[7];
nnoitre 1:30d319218526 19 int check;
nnoitre 1:30d319218526 20 int i;
nnoitre 0:b78d22fdc409 21
nnoitre 1:30d319218526 22 void send(){
nnoitre 1:30d319218526 23 xbee.putc(0x7E);
nnoitre 1:30d319218526 24 xbee.putc(received[2]);
nnoitre 1:30d319218526 25 xbee.putc(received[1]);
nnoitre 1:30d319218526 26 xbee.putc(ACK);
nnoitre 1:30d319218526 27 xbee.putc(0x7E);
nnoitre 1:30d319218526 28 }
nnoitre 0:b78d22fdc409 29
nnoitre 1:30d319218526 30 int main(){
nnoitre 1:30d319218526 31 xbee.baud(57600);
nnoitre 1:30d319218526 32 myled1=1;
nnoitre 1:30d319218526 33 wait(0.2);
nnoitre 1:30d319218526 34 myled1=0;
nnoitre 0:b78d22fdc409 35 while(1) {
nnoitre 0:b78d22fdc409 36 if(xbee.readable()) { //Checks if the data is readable
nnoitre 1:30d319218526 37 xbee.gets(received,8);
nnoitre 1:30d319218526 38 check=(received[1]+received[2]+received[3]+received[4])%255;
nnoitre 1:30d319218526 39 if(received[2]=ID){
nnoitre 1:30d319218526 40 if(received[0]==0x7E){
nnoitre 1:30d319218526 41 myled1=!myled1;
nnoitre 1:30d319218526 42 }
nnoitre 1:30d319218526 43 if(received[6]==0x7E){
nnoitre 1:30d319218526 44 myled2=!myled2;
nnoitre 1:30d319218526 45 }
nnoitre 1:30d319218526 46 if(check==received[5]) {
nnoitre 1:30d319218526 47 myled3=!myled3;
nnoitre 1:30d319218526 48 teller++;
nnoitre 1:30d319218526 49 lcd.cls();
nnoitre 1:30d319218526 50 lcd.printf("%d",teller);
nnoitre 1:30d319218526 51 ACK=0b00001111;
nnoitre 1:30d319218526 52 send();
nnoitre 1:30d319218526 53 while(i<5){
nnoitre 1:30d319218526 54 received[i]=0;
nnoitre 1:30d319218526 55 i++;
nnoitre 1:30d319218526 56 }
nnoitre 1:30d319218526 57 i=0;
nnoitre 1:30d319218526 58 }
nnoitre 1:30d319218526 59 if(received[5]!=check){
nnoitre 1:30d319218526 60 myled4=!myled4;
nnoitre 1:30d319218526 61 ACK=0b11110000;
nnoitre 1:30d319218526 62 send();
nnoitre 1:30d319218526 63 while(i<5){
nnoitre 1:30d319218526 64 received[i]=0;
nnoitre 1:30d319218526 65 i++;
nnoitre 1:30d319218526 66 }
nnoitre 1:30d319218526 67 i=0;
nnoitre 1:30d319218526 68 }
nnoitre 0:b78d22fdc409 69 }
nnoitre 0:b78d22fdc409 70 }
nnoitre 0:b78d22fdc409 71 }
nnoitre 1:30d319218526 72 }