XBeeの動作確認プログラム

Dependencies:   mbed

Committer:
ShuheiK
Date:
Wed Jun 13 09:32:14 2018 +0000
Revision:
1:93fb9c524902
Parent:
0:8db1774e489b
Child:
2:3bda32202d89
?????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ShuheiK 0:8db1774e489b 1 /**
ShuheiK 0:8db1774e489b 2 * @file main.cpp
ShuheiK 0:8db1774e489b 3 * @brief 新入生教育用Xbee送受信プログラム
ShuheiK 0:8db1774e489b 4 *
ShuheiK 0:8db1774e489b 5 * <table><tr><th> 送信(PC->mbed) </th><th> 受信(mbed->PC) </th></tr>
ShuheiK 0:8db1774e489b 6 * <tr><th> 's' or 'S' </th><th> "Mission Start" </th></tr>
ShuheiK 1:93fb9c524902 7 * <tr><th> 't' or 'T' </th><th> 任意の文字列 (注1)</th></tr>
ShuheiK 0:8db1774e489b 8 * <tr><th> 'c' or 'C' </th><th> "Mission complete" </th></tr>
ShuheiK 0:8db1774e489b 9 * </table>
ShuheiK 0:8db1774e489b 10 *
ShuheiK 1:93fb9c524902 11 * (注1) 't' または 'T' を入力した後,任意の文字列を入力しエンターキーを押すと,その文字列がmbedからPCに送信される.
ShuheiK 0:8db1774e489b 12 *
ShuheiK 0:8db1774e489b 13 * @author Shuhei Kayawari
ShuheiK 0:8db1774e489b 14 * @date 2018/06/13
ShuheiK 0:8db1774e489b 15 */
ShuheiK 0:8db1774e489b 16
ShuheiK 0:8db1774e489b 17 #include "mbed.h"
ShuheiK 0:8db1774e489b 18
ShuheiK 0:8db1774e489b 19 Serial pc(USBTX, USBRX);
ShuheiK 0:8db1774e489b 20 Serial xbee(p9, p10);
ShuheiK 0:8db1774e489b 21
ShuheiK 0:8db1774e489b 22 int main()
ShuheiK 0:8db1774e489b 23 {
ShuheiK 0:8db1774e489b 24 pc.printf("XBee Start\r\n");
ShuheiK 0:8db1774e489b 25
ShuheiK 0:8db1774e489b 26 while(1) {
ShuheiK 0:8db1774e489b 27 pc.printf("Waiting for data...\r\n");
ShuheiK 0:8db1774e489b 28
ShuheiK 0:8db1774e489b 29 int received_data = xbee.getc();
ShuheiK 0:8db1774e489b 30
ShuheiK 0:8db1774e489b 31 pc.printf("Received Data: %c\r\n", received_data);
ShuheiK 0:8db1774e489b 32
ShuheiK 0:8db1774e489b 33 if(received_data == 83 || received_data == 115) { //S or s
ShuheiK 0:8db1774e489b 34 xbee.printf("%c\r\n", received_data);
ShuheiK 0:8db1774e489b 35 xbee.printf("Mission Start\r\n");
ShuheiK 0:8db1774e489b 36 } else if(received_data == 84 || received_data == 116) { //T or t
ShuheiK 0:8db1774e489b 37 xbee.printf("%c\r\n", received_data);
ShuheiK 0:8db1774e489b 38
ShuheiK 0:8db1774e489b 39 char str[1024] = {};
ShuheiK 0:8db1774e489b 40 int i = 0;
ShuheiK 0:8db1774e489b 41
ShuheiK 0:8db1774e489b 42 do
ShuheiK 0:8db1774e489b 43 str[i++] = xbee.getc();
ShuheiK 0:8db1774e489b 44 while(str[i-1] != 0x0d);
ShuheiK 0:8db1774e489b 45
ShuheiK 0:8db1774e489b 46 xbee.printf("%s\r\n", str);
ShuheiK 0:8db1774e489b 47 }
ShuheiK 0:8db1774e489b 48 else if(received_data == 67 || received_data == 99) { //C or c
ShuheiK 0:8db1774e489b 49 xbee.printf("%c\r\n", received_data);
ShuheiK 0:8db1774e489b 50 xbee.printf("Mission Complete\r\n");
ShuheiK 0:8db1774e489b 51 }
ShuheiK 0:8db1774e489b 52 }
ShuheiK 0:8db1774e489b 53
ShuheiK 0:8db1774e489b 54 return 0;
ShuheiK 0:8db1774e489b 55 }