![](/media/cache/profiles/25a76ba89c58a499eadfd4cb8ecf8af5.jpg.50x50_q85.jpg)
Bus comms (external protocol) with xbee code for end device
Dependencies: C12832_lcd mbed xbee_lib
main.cpp@0:1b9f7485eb2c, 2015-02-15 (annotated)
- Committer:
- dannellyz
- Date:
- Sun Feb 15 06:26:55 2015 +0000
- Revision:
- 0:1b9f7485eb2c
Bus comms (external protocol) with xbee
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dannellyz | 0:1b9f7485eb2c | 1 | #include "mbed.h" |
dannellyz | 0:1b9f7485eb2c | 2 | #include "xbee.h" // Include for xbee code |
dannellyz | 0:1b9f7485eb2c | 3 | #include "C12832_lcd.h" // Include for LCD code |
dannellyz | 0:1b9f7485eb2c | 4 | #include <stdio.h> //Include for sprintf |
dannellyz | 0:1b9f7485eb2c | 5 | |
dannellyz | 0:1b9f7485eb2c | 6 | xbee xbee1(p9,p10,p30); //Initalise xbee_lib varName(rx,tx,reset) |
dannellyz | 0:1b9f7485eb2c | 7 | DigitalOut rst1(p30); |
dannellyz | 0:1b9f7485eb2c | 8 | Serial pc(USBTX, USBRX); //Initalise PC serial comms |
dannellyz | 0:1b9f7485eb2c | 9 | C12832_LCD lcd; //Initialize LCD Screen |
dannellyz | 0:1b9f7485eb2c | 10 | |
dannellyz | 0:1b9f7485eb2c | 11 | //Initialize the joystick on the appBoard as a Bus |
dannellyz | 0:1b9f7485eb2c | 12 | BusIn joy(p15,p12,p13,p16); |
dannellyz | 0:1b9f7485eb2c | 13 | //Set the button as a Digital In |
dannellyz | 0:1b9f7485eb2c | 14 | DigitalIn fire(p14); |
dannellyz | 0:1b9f7485eb2c | 15 | |
dannellyz | 0:1b9f7485eb2c | 16 | int main() |
dannellyz | 0:1b9f7485eb2c | 17 | { |
dannellyz | 0:1b9f7485eb2c | 18 | // reset the xbees (at least 200ns) |
dannellyz | 0:1b9f7485eb2c | 19 | rst1 = 0; |
dannellyz | 0:1b9f7485eb2c | 20 | wait_ms(1); |
dannellyz | 0:1b9f7485eb2c | 21 | rst1 = 1; |
dannellyz | 0:1b9f7485eb2c | 22 | wait_ms(1); |
dannellyz | 0:1b9f7485eb2c | 23 | //Setup LCD screen |
dannellyz | 0:1b9f7485eb2c | 24 | lcd.cls(); |
dannellyz | 0:1b9f7485eb2c | 25 | lcd.locate(0,1); |
dannellyz | 0:1b9f7485eb2c | 26 | |
dannellyz | 0:1b9f7485eb2c | 27 | char sendData[1]; //Buffer to send value of bus |
dannellyz | 0:1b9f7485eb2c | 28 | |
dannellyz | 0:1b9f7485eb2c | 29 | while(1) { |
dannellyz | 0:1b9f7485eb2c | 30 | |
dannellyz | 0:1b9f7485eb2c | 31 | //Digital pin to check for button press |
dannellyz | 0:1b9f7485eb2c | 32 | int yes = 0; |
dannellyz | 0:1b9f7485eb2c | 33 | |
dannellyz | 0:1b9f7485eb2c | 34 | //If pressed send 9 |
dannellyz | 0:1b9f7485eb2c | 35 | if(fire) { |
dannellyz | 0:1b9f7485eb2c | 36 | yes = 1; |
dannellyz | 0:1b9f7485eb2c | 37 | sprintf (sendData, "%d", 9); |
dannellyz | 0:1b9f7485eb2c | 38 | } |
dannellyz | 0:1b9f7485eb2c | 39 | //Else send value of the Bus |
dannellyz | 0:1b9f7485eb2c | 40 | else{ |
dannellyz | 0:1b9f7485eb2c | 41 | sprintf (sendData, "%d", joy.read()); |
dannellyz | 0:1b9f7485eb2c | 42 | } |
dannellyz | 0:1b9f7485eb2c | 43 | |
dannellyz | 0:1b9f7485eb2c | 44 | xbee1.SendData(sendData); //Send data to XBee |
dannellyz | 0:1b9f7485eb2c | 45 | |
dannellyz | 0:1b9f7485eb2c | 46 | //Local of value sent |
dannellyz | 0:1b9f7485eb2c | 47 | lcd.printf("Value = %s \n", sendData); |
dannellyz | 0:1b9f7485eb2c | 48 | wait(0.1); |
dannellyz | 0:1b9f7485eb2c | 49 | |
dannellyz | 0:1b9f7485eb2c | 50 | |
dannellyz | 0:1b9f7485eb2c | 51 | |
dannellyz | 0:1b9f7485eb2c | 52 | } |
dannellyz | 0:1b9f7485eb2c | 53 | } |