受け取りです.質問・アドバイスがあればどうぞ.

Dependencies:   MultiSerial mbed

Revision:
4:541fdc451ab3
Parent:
3:d4eff9dace7d
--- a/main.h	Mon Jul 14 10:03:17 2014 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-#ifndef MAIN_H
-#define MAIN_H 
-
-#include "mbed.h"
-
-#define TURN_REV 0.5//PWM
-#define TIME_LIMIT 1.0//腕が閉まっても動けるのはTIME_LIMIT[s]まで
-#define DATA_NUM 10 //DATA_NUM[byte]通信
-#define MY_KEYCODE 0xAA//keycode
-#define EN_KEYCODE 0xAA//keycode
-#define KEY 0//number of first data
-#define CHECK DATA_NUM-1//number of last data
-
-enum Logic{OFF=0, ON};//殆どはモーターのON,OFFに使う
-enum Revolution{CW=0, CCW};//正回転,逆回転(上体回転)
-enum Scissors{R=0, L, C};//右腕と左腕
-enum Clippers{Open=0, Close};//開ける動作と閉める動作
-
-volatile uint8_t INdata[DATA_NUM]={0}, EXdata[DATA_NUM]={0};
-
-DigitalOut LED[4]={LED1, LED2, LED3, LED4};//確認用
-DigitalOut Turn[2]={NC, NC};//p29, p30
-DigitalIn TurnSW(NC);//p26
-PwmOut TurnSpeed(NC);//p25
-//ex)Turn[CW]=ON;
-InterruptIn HandSW[3]={NC, NC, NC};//p14, p15, p16
-DigitalOut Hand[2][2]={{NC, NC}, {NC, NC}};//{p17, p18}, {p19, p20}
-//ex)Hand[R][Close]=ON;
-Timeout Touch;//腕で掴むときの安全対策
-Serial pc(USBTX, USBRX);
-Serial Xbee(NC, NC);//p28, p27
-
-bool GetBit(uint8_t n, uint8_t bit){//n=8[bit]data, bit = 1-8(8bitのデータから指定bitの数値を読み取る)
-    return (n>>(bit-1))%2;
-}
-
-void StopCatching(void){//停止
-    Hand[R][Close]=Hand[L][Close]=OFF;
-}
-void StopLeaving(void){//停止
-    Hand[R][Open]=Hand[L][Open]=OFF;
-}
-void StartCatching(void){//掴む
-    Hand[R][Close]=Hand[L][Close]=ON;
-}
-void StartLeaving(void){//離す
-    Hand[R][Open]=Hand[L][Open]=ON;
-}
-void RightCatch(void){//右腕のリミットスイッチ
-    if((!HandSW[R])&&(!HandSW[L])){//どちらも押されたら停止
-        StopCatching();//停止
-        Touch.detach();//ワンショットタイマー停止
-    }
-}
-void LeftCatch(void){//左腕のリミットスイッチ
-    if((!HandSW[R])&&(!HandSW[L])){//どちらも押されたら停止
-        StopCatching();//停止
-        Touch.detach();//ワンショットタイマー停止
-    }
-}
-void CenterCatch(void){//中央のリミットスイッチ
-    Touch.attach(StopCatching, TIME_LIMIT);//TIME_LIMIT[s]で停止
-    StartCatching();
-}
-
-void TX(void){//送信バッファ空き割り込み用関数
-
-    static uint8_t TX=DATA_NUM, i;
-    static uint8_t TXdata[DATA_NUM]={MY_KEYCODE};
-    static uint8_t TX_CHECKCODE=0;
-    
-    if(TX >= DATA_NUM){
-        
-        TXdata[KEY] = MY_KEYCODE;
-        TXdata[1] = EXdata[1];
-        TXdata[2] = EXdata[2];
-        TXdata[3] = EXdata[3];
-        TXdata[4] = EXdata[4];
-        TXdata[5] = EXdata[5];
-        TXdata[6] = EXdata[6];
-        TXdata[7] = EXdata[7];
-        TXdata[8] = EXdata[8];
-        //送るデータ = センサ等のデータ
-        
-        for(i=KEY+1, TX_CHECKCODE=0; i<CHECK; i++){
-            TX_CHECKCODE ^= TXdata[i];
-        }//CHECKCODE作成
-        
-        TXdata[CHECK] = TX_CHECKCODE;
-        TX=0;
-    }
-    
-    Xbee.putc(TXdata[TX]);
-    TX++;
-    
-}//受信割り込み用関数
-void RX(void){
-    
-    static uint8_t RX=0, i;
-    static uint8_t RXdata[DATA_NUM]={EN_KEYCODE};
-    static uint8_t RX_CHECKCODE=0;
-    
-    RXdata[RX] = Xbee.getc();
-    
-    if(RXdata[KEY]==EN_KEYCODE){
-        RX++;
-    }
-    
-    if(RX==CHECK){
-        for(i=KEY+1, RX_CHECKCODE=0; i<CHECK; i++){
-            RX_CHECKCODE ^= RXdata[i];
-        }//CHECKCODE作成
-    }
-    
-    if(RX >= DATA_NUM){
-        if(RXdata[CHECK]==RX_CHECKCODE){
-            
-            INdata[1] = RXdata[1];
-            INdata[2] = RXdata[2];
-            INdata[3] = RXdata[3];
-            INdata[4] = RXdata[4];
-            INdata[5] = RXdata[5];
-            INdata[6] = RXdata[6];
-            INdata[7] = RXdata[7];
-            INdata[8] = RXdata[8];
-            //使うデータ = 受け取ったデータ
-        }
-        RX=0;
-    }
-    
-}
-
-#endif
\ No newline at end of file