![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Manual comms between K64F and XBee module.
main.cpp
- Committer:
- georgemm101
- Date:
- 2014-08-09
- Revision:
- 0:75cdb85ebc0e
File content as of revision 0:75cdb85ebc0e:
#include "mbed.h" DigitalOut Redled(LED_RED); DigitalOut Greenled(LED_GREEN); DigitalOut Blueled(LED_BLUE); Serial pc(USBTX, USBRX); Serial XbeeSerial(PTC17, PTC16); //TX,RX void Setup() { pc.baud(9600); XbeeSerial.baud(9600); Redled = 1.0; // off Greenled = 1.0; Blueled = 1.0; } void Header() { pc.printf("XBserial_comms_Manual V1.0\n"); pc.printf("Any character typed from the pc will\n"); pc.printf("be sent to the remote XBee \n"); pc.printf("+++ to enter command mode (no CR) \n"); pc.printf("AT should get OK in response \n"); pc.printf("ATAI = 0 Associated\n"); pc.printf("ATSH = Serial No H byte\n"); pc.printf("ATSL = Serial No L byte\n"); pc.printf("ATHV = Hardware version\n"); pc.printf("ATVR = Firmware version\n"); pc.printf("ATTP = Temperature\n"); pc.printf("ATDH = Destination Address\n"); wait(1); } // -------- end Header ----------- void Blink(int clr) // introduces a delay ! { if (clr == 'R') { //DigitalOut Redled(LED_RED, 1); Redled = 0; // on wait(0.001); Redled = 1.0; // off } if (clr == 'G') { //DigitalOut Greenled(LED_GREEN, 1); Greenled = 0; // on wait(0.001); Greenled = 1.0; // off } if (clr == 'B') { //DigitalOut Blueled(LED_Blue, 1); Blueled = 0; // on wait(0.001); Blueled = 1.0; // off } } // -------- end Blink ----------- void XbeeRelay() { if (XbeeSerial.readable()) { pc.putc(XbeeSerial.getc()); //get data from Xbee and send to pc(USB) Blink('R'); // Blink introduces a delay of 1ms } if(pc.readable()) { XbeeSerial.putc(pc.getc()); //get data from pc(USB) and send to Xbee Blink('G'); } } // don't forget to set the destination addresses on both xbees // -------- end XbeeRelay ----------- int main() { Setup(); Header(); Blink('R'); wait(1); Blink('G'); wait(1); Blink('B'); while (true) { XbeeRelay(); } }