Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Revision 1:a47cb7834afe, committed 2014-06-16
- 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;
}