めいん

Dependencies:   mbed

Revision:
3:3a1b0dda8c6c
Parent:
1:a1e592eca305
--- a/prime.h	Tue Aug 30 06:51:41 2016 +0000
+++ b/prime.h	Thu Sep 01 05:49:45 2016 +0000
@@ -44,11 +44,12 @@
 DigitalOut PINY(PA_10);
 DigitalOut PINZ(PB_3);
 
-QEI right (PA_7, PA_5, NC, 100, QEI::X2_ENCODING);
-QEI left  (PH_0, PC_14, NC, 100, QEI::X2_ENCODING);
 
-DigitalOut encordervcc1(PA_10);
-DigitalOut encordervcc2(PC_15);
+QEI right (PA_7, PA_5, NC, 100, QEI::X2_ENCODING);
+QEI left  (PA_13, PA_15, NC, 100, QEI::X2_ENCODING);
+
+DigitalOut encordervcc1(PA_6);
+DigitalOut encordervcc2(PA_14);
 
 void initencorder(void){
     encordervcc1=1;
@@ -232,70 +233,7 @@
              //                 0        1         2       3
 }
 
-/*
-void move(int right,int left){
-    
-    if(right>256){right=256;}
-    if(left>256){left=256;}
-    if(right<-256){right=-256;}
-    if(left<-256){left=-256;}
-    
-    PwmOut M1cw(PA_11);
-    PwmOut M1ccw(PB_15);
-    PwmOut M2cw(PB_14);
-    PwmOut M2ccw(PB_13);
 
-    M1cw.period_us(256);
-    M1ccw.period_us(256);
-    M2cw.period_us(256);
-    M2ccw.period_us(256);
-
-    
-    right=256-right;
-    left=256-left;//トランジスタ挿入によってON,OFFが逆転したための措置
-    
-    //回さないモーターにはperiod=widthを出力
-        if(right>0&&left>0){
-        
-        M1cw.pulsewidth_us(right);
-        M2cw.pulsewidth_us(left);
-        M1ccw.pulsewidth_us(256);
-        M2ccw.pulsewidth_us(256);        
-    }
-        
-        else if(right<0&&left>0){
-        
-                
-        M1cw.pulsewidth_us(256);
-        M2cw.pulsewidth_us(left);
-        M1ccw.pulsewidth_us(right);
-        M2ccw.pulsewidth_us(256);      
-    }
-        else if(right>0&&left<0){
-        
-        
-        M1cw.pulsewidth_us(right);
-        M2cw.pulsewidth_us(256);
-        M1ccw.pulsewidth_us(256);
-        M2ccw.pulsewidth_us(left);      
-    }
-        else if(right<0&&left<0){
-        
-        
-        M1cw.pulsewidth_us(256);
-        M2cw.pulsewidth_us(256);
-        M1ccw.pulsewidth_us(right);
-        M2ccw.pulsewidth_us(left);      
-    }
-        else if(right==0&&left==0){
-        
-        M1cw.pulsewidth_us(256);
-        M2cw.pulsewidth_us(256);      
-        M1ccw.pulsewidth_us(256);
-        M2ccw.pulsewidth_us(256);
-    }
-}
-*/
 
 void initmotor(){
 
@@ -309,26 +247,29 @@
 
 void move(int right,int left){
     
+    float rightduty,leftduty;
+    
     if(right>256){right=256;}
     if(left>256){left=256;}
     if(right<-256){right=-256;}
     if(left<-256){left=-256;}
 
+    rightduty=right/256;
+    leftduty=left/256;
     
-    //回さないモーターにはperiod=widthを出力
     if(right>0){
-        M1cw.pulsewidth_us(256-right);
-        M1ccw.pulsewidth_us(256);
+        M1cw.write(1-rightduty);
+        M1ccw.write(1);
     }else{
-        M1cw.pulsewidth_us(256);
-        M1ccw.pulsewidth_us(256+right);
+        M1cw.write(1);
+        M1ccw.write(1-rightduty);
     }
     if(left>0){
-        M2cw.pulsewidth_us(256-left);
-        M2ccw.pulsewidth_us(256);
+        M2cw.write(1-leftduty);
+        M2ccw.write(1);
     }else{
-        M2cw.pulsewidth_us(256);
-        M2ccw.pulsewidth_us(256+left);
+        M2cw.write(1);
+        M2ccw.write(1-leftduty);
     }
 }