Xbee SDM.ver

Dependencies:   mbed

Committer:
keepyourselfalive
Date:
Tue Nov 16 09:31:19 2021 +0000
Revision:
0:60690574b1c3
Xbee SDM.ver

Who changed what in which revision?

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