narasan

Dependencies:   mbed

Fork of kosyusya_recive by mbedを用いた制御学生の制御

main.cpp

Committer:
eil4nyqn
Date:
2015-03-10
Revision:
1:08767e2e643b
Parent:
0:7092b32c717c
Child:
2:31eb6fbb8119

File content as of revision 1:08767e2e643b:

#include "mbed.h"

PwmOut moter[] = {p23,p24};
BusOut selecter(p5,p6,p7,p8,p9,p10,p11,p12);
Serial pc(USBTX,USBRX);
Serial mc(p28,p27);
#define pi 3.141592

int main() {
    uint8_t data_r1,data_r2,data_l1,data_l2,sw_data5,sw_data6,start;
    double signal_r,signal_l;
    uint8_t select_r,select_l,select_all,check,checker;

    
    while(1){
        select_r = 0;
        select_l = 0;
        signal_r = 0;
        signal_l = 0;
        //if(mc.readable() == 1){
            start = mc.getc();
            data_r1 = mc.getc();
            data_r2 = mc.getc();
            data_l1 = mc.getc();
            data_l2 = mc.getc();
            sw_data5 = mc.getc();
            sw_data6 = mc.getc();
            check = mc.getc();
            
           // pc.printf("%u_%u_%u_%u_%u_%u_%u/n",start,data_r1,data_r2,data_l1,data_l2,sw_data5,sw_data6);
            if(start == 255){
                if(data_r1 != 0){
                    signal_r = data_r1/200.0000;
                    select_r = 16;
                }else if(data_r2 != 0){
                    signal_r = data_r2/200.0000;
                    select_r = 32;
                }
                if(data_l1 != 0){
                    signal_l = data_l1/200.0000;
                    select_l = 64;
                }else if(data_l2 != 0){
                    signal_l = data_l2/200.0000;
                    select_l = 128;
                }
                checker = data_r1^data_r2^data_l1^data_l2^sw_data5^sw_data6;
                select_all = sw_data5+sw_data6+select_r+select_l;
                                    
                //pc.printf("%f_%f_%d_%d_%d_%d\n",signal_a1,signal_a2,n,z,m,x);
                //pc.printf("%u_\n",start);
                pc.printf("%u_%u_%u_%u_%u_%u_%u_%u\n",start,data_r1,data_r2,data_l1,data_l2,sw_data5,sw_data6,select_all);
                //pc.printf("%u_%u\n",checker,check);
                //pc.printf("%f_%f_%u_%u\n",signal_a1,signal_a2,sw_data5,sw_data6);
                
                if(check == checker){
                    moter[0] = signal_r;
                    moter[1] = signal_l;
                    selecter = select_all;
                }
            }
        }/*else if(mc.readable() == 0){//読むとゴキブリになる文
            selecter = 0;
        }*/
    }