Bチーム / Mbed 2 deprecated USART

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
ryuna
Date:
Mon Jun 16 08:13:29 2014 +0000
Parent:
0:ae8fbdc800ba
Commit message:
ver.2;

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
usart.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Mon Jun 16 07:48:01 2014 +0000
+++ b/main.cpp	Mon Jun 16 08:13:29 2014 +0000
@@ -4,7 +4,7 @@
 
 Serial sensor(p13,p14);
 Serial xbee(p28,p27);
-
+enum {LEFT, BACK, RIGHT,FRONT};
 /*XBee interrupt*/
 Ticker xbeetx;
 Ticker xbeerx;
@@ -13,9 +13,18 @@
 extern void xbee_tx(void);
 extern void xbee_rx(void);
 
+uint8_t ping[4] = {0};
+uint8_t ir_min = 0;
+uint8_t ir_num = 0;
+uint8_t ir_main = 0;
+unsigned int compass = 0;
+
+
 int main() {
-    
-    sensor.attach(&micon_rx,Serial::RxIrq); 
+        //送信開始
+    sensor.putc(1);
+    //送信空き割り込み設定
+    sensor.attach(&micon_rx,Serial::TxIrq); 
     while(1) {
         myled = 1;
         wait(0.2);
--- a/usart.cpp	Mon Jun 16 07:48:01 2014 +0000
+++ b/usart.cpp	Mon Jun 16 08:13:29 2014 +0000
@@ -1,23 +1,41 @@
 #include "mbed.h"
-//#include "common.h"
+//include "common.h"
 
 #define KEYCODE 0xAA
 #define TX_CHECKCODE (tx_data[1]^tx_data[2]^tx_data[3]^tx_data[4]^tx_data[5]^tx_data[6]^tx_data[7]^tx_data[8]^tx_data[9])
 #define RX_CHECKCODE (rx_data[1]^rx_data[2]^rx_data[3]^rx_data[4]^rx_data[5]^rx_data[6]^rx_data[7]^rx_data[8]^rx_data[9])
 #define DATA_NUM 11
 #define CHECK (DATA_NUM - 1)
-#define ALL_IR 11
 
-
+enum {LEFT, BACK, RIGHT,FRONT};
 extern Serial sensor;
+extern Serial xbee;
 extern Serial pc;
 
 extern uint8_t ping[4];
-//extern uint8_t line[4];
-extern uint8_t ir_max, ir_num;
-extern int compass;
-extern uint8_t ir_central;
+extern uint8_t ir_min;
+extern uint8_t ir_num;
 extern uint8_t ir_main;
+extern unsigned int compass;
+
+int count;
+
+void xbee_tx(){
+    xbee.putc(1);
+    
+}
+ 
+void xbee_rx(){
+    if(xbee.readable()){
+        count = xbee.getc();
+    } else {
+        count = 0;
+    }
+    //pc.printf("%d\n", count);
+    
+}
+
+
 void micon_rx(){
     
     static uint8_t rx;
@@ -31,16 +49,18 @@
     
     if(rx >= DATA_NUM){
         if(rx_data[CHECK] == RX_CHECKCODE){
-             compass = rx_data[7] + rx_data[8];
-             ir_max = rx_data[1];
-             ir_num = rx_data[2];
-             ping[FRONT] = rx_data[3];
-             ping[LEFT] = rx_data[4];
-             ping[BACK] = rx_data[5];
-             ping[RIGHT] = rx_data[6];
-             ir_central = rx_data[9];
-             ir_main = ir_central;
-             //pc.printf("%d ,%d\n", ir_max,ir_num);
+            ir_min = rx_data[1];
+            ir_num = rx_data[2];
+            ping[FRONT] = rx_data[3];
+            ping[LEFT] = rx_data[4];
+            ping[BACK] = rx_data[5];
+            ping[RIGHT] = rx_data[6];
+            compass = rx_data[7] + rx_data[8];
+            ir_main = rx_data[9];
+            //pc.printf("compass: %d\n",compass);
+            //pc.printf("ping0:%d\tping1:%d\tping2:%d\tping3:%d\n",ping[0],ping[1],ping[2],ping[3]);
+            //pc.printf("ir_min:%d\tir_num:%d\tir_main:%d\n",ir_min,ir_num,ir_main);
+            
         } 
      rx = 0;   
     }