a

Dependencies:   mbed mbed-STM32F103C8T6

Committer:
AK1412
Date:
Sat Dec 29 11:57:03 2018 +0000
Revision:
0:0cb42d74d475
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AK1412 0:0cb42d74d475 1 #include "stm32f103c8t6.h"
AK1412 0:0cb42d74d475 2 #include "mbed.h"
AK1412 0:0cb42d74d475 3
AK1412 0:0cb42d74d475 4 #define pow1 0.5
AK1412 0:0cb42d74d475 5 #define pow2 0.7
AK1412 0:0cb42d74d475 6 #define time 0.7
AK1412 0:0cb42d74d475 7
AK1412 0:0cb42d74d475 8 DigitalOut led( LED1);
AK1412 0:0cb42d74d475 9 CANMessage msg;
AK1412 0:0cb42d74d475 10 CAN Reseive ( PA_11, PA_12);
AK1412 0:0cb42d74d475 11
AK1412 0:0cb42d74d475 12 PwmOut dcY( PA_8);//Y軸のpwmピン
AK1412 0:0cb42d74d475 13 DigitalOut motordcY1( PB_15);
AK1412 0:0cb42d74d475 14 DigitalOut motordcY2( PB_14);
AK1412 0:0cb42d74d475 15
AK1412 0:0cb42d74d475 16 PwmOut dcZ( PB_3);//Z軸のpwmピン
AK1412 0:0cb42d74d475 17 DigitalOut motordcZ1( PA_15);
AK1412 0:0cb42d74d475 18 DigitalOut motordcZ2( PA_12);
AK1412 0:0cb42d74d475 19
AK1412 0:0cb42d74d475 20 DigitalIn switch1( PA_1);
AK1412 0:0cb42d74d475 21 DigitalIn switch2( PA_2);
AK1412 0:0cb42d74d475 22 DigitalIn switch3( PA_3);
AK1412 0:0cb42d74d475 23 DigitalIn switch4( PA_4);//micro switch x 4
AK1412 0:0cb42d74d475 24
AK1412 0:0cb42d74d475 25 int mode = 0;
AK1412 0:0cb42d74d475 26
AK1412 0:0cb42d74d475 27 void motorForward()
AK1412 0:0cb42d74d475 28 {
AK1412 0:0cb42d74d475 29 dcY.period_us( 50);
AK1412 0:0cb42d74d475 30 dcY = pow1;
AK1412 0:0cb42d74d475 31 motordcY1 = 1;
AK1412 0:0cb42d74d475 32 motordcY2 = 0;
AK1412 0:0cb42d74d475 33 }
AK1412 0:0cb42d74d475 34 void motorBack()
AK1412 0:0cb42d74d475 35 {
AK1412 0:0cb42d74d475 36 dcY.period_us( 50);
AK1412 0:0cb42d74d475 37 dcY = pow1;
AK1412 0:0cb42d74d475 38 motordcY1 = 0;
AK1412 0:0cb42d74d475 39 motordcY2 = 1;
AK1412 0:0cb42d74d475 40 }
AK1412 0:0cb42d74d475 41 void motorDown()
AK1412 0:0cb42d74d475 42 {
AK1412 0:0cb42d74d475 43 dcZ.period_us( 50);
AK1412 0:0cb42d74d475 44 dcZ = pow2;
AK1412 0:0cb42d74d475 45 motordcZ1 = 0;
AK1412 0:0cb42d74d475 46 motordcZ2 = 1;
AK1412 0:0cb42d74d475 47 }
AK1412 0:0cb42d74d475 48 void motorUp()
AK1412 0:0cb42d74d475 49 {
AK1412 0:0cb42d74d475 50 dcZ.period_us( 50);
AK1412 0:0cb42d74d475 51 dcZ = pow2;
AK1412 0:0cb42d74d475 52 motordcZ1 = 1;
AK1412 0:0cb42d74d475 53 motordcZ2 = 0;
AK1412 0:0cb42d74d475 54 }
AK1412 0:0cb42d74d475 55 void motorStopY()//Y軸が止まる
AK1412 0:0cb42d74d475 56 {
AK1412 0:0cb42d74d475 57 motordcY1 = 0;
AK1412 0:0cb42d74d475 58 motordcY2 = 0;
AK1412 0:0cb42d74d475 59 }
AK1412 0:0cb42d74d475 60 void case0(){
AK1412 0:0cb42d74d475 61 if( switch1.read() == 0){
AK1412 0:0cb42d74d475 62 motorBack();
AK1412 0:0cb42d74d475 63 if( switch1.read() == 1)
AK1412 0:0cb42d74d475 64 motorStopY();
AK1412 0:0cb42d74d475 65 }
AK1412 0:0cb42d74d475 66 else if( switch1.read() == 1)
AK1412 0:0cb42d74d475 67 motorStopY();
AK1412 0:0cb42d74d475 68 mode = 1;
AK1412 0:0cb42d74d475 69 }
AK1412 0:0cb42d74d475 70 void case1(){
AK1412 0:0cb42d74d475 71 motorForward();
AK1412 0:0cb42d74d475 72 motorUp();
AK1412 0:0cb42d74d475 73 //wait( time);
AK1412 0:0cb42d74d475 74 mode = 2;
AK1412 0:0cb42d74d475 75 }
AK1412 0:0cb42d74d475 76 void case2(){
AK1412 0:0cb42d74d475 77 motorForward();
AK1412 0:0cb42d74d475 78 motorDown();
AK1412 0:0cb42d74d475 79 //wait( time);
AK1412 0:0cb42d74d475 80 mode = 3;
AK1412 0:0cb42d74d475 81 }
AK1412 0:0cb42d74d475 82 void case3(){
AK1412 0:0cb42d74d475 83 motorBack();
AK1412 0:0cb42d74d475 84 motorDown();
AK1412 0:0cb42d74d475 85 //wait( time);
AK1412 0:0cb42d74d475 86 mode = 4;
AK1412 0:0cb42d74d475 87 }
AK1412 0:0cb42d74d475 88 void case4(){
AK1412 0:0cb42d74d475 89 motorBack();
AK1412 0:0cb42d74d475 90 motorUp();
AK1412 0:0cb42d74d475 91 //wait( time);
AK1412 0:0cb42d74d475 92 mode = 1;
AK1412 0:0cb42d74d475 93 }
AK1412 0:0cb42d74d475 94
AK1412 0:0cb42d74d475 95 int main(){
AK1412 0:0cb42d74d475 96 /*led.write(0);
AK1412 0:0cb42d74d475 97
AK1412 0:0cb42d74d475 98 while( true){
AK1412 0:0cb42d74d475 99 if( Reseive.id == 1 ){
AK1412 0:0cb42d74d475 100 data
AK1412 0:0cb42d74d475 101 }
AK1412 0:0cb42d74d475 102 wait( 0.1);
AK1412 0:0cb42d74d475 103 }*/
AK1412 0:0cb42d74d475 104
AK1412 0:0cb42d74d475 105 while(1){
AK1412 0:0cb42d74d475 106 switch( mode){
AK1412 0:0cb42d74d475 107 case 0:
AK1412 0:0cb42d74d475 108 case0();
AK1412 0:0cb42d74d475 109 break;
AK1412 0:0cb42d74d475 110 case 1:
AK1412 0:0cb42d74d475 111 case1();
AK1412 0:0cb42d74d475 112 break;
AK1412 0:0cb42d74d475 113 case 2:
AK1412 0:0cb42d74d475 114 case2();
AK1412 0:0cb42d74d475 115 break;
AK1412 0:0cb42d74d475 116 case 3:
AK1412 0:0cb42d74d475 117 case3();
AK1412 0:0cb42d74d475 118 break;
AK1412 0:0cb42d74d475 119 case 4:
AK1412 0:0cb42d74d475 120 case4();
AK1412 0:0cb42d74d475 121 break;
AK1412 0:0cb42d74d475 122 }
AK1412 0:0cb42d74d475 123
AK1412 0:0cb42d74d475 124 if( switch1.read() == 0)
AK1412 0:0cb42d74d475 125 led.write(0);
AK1412 0:0cb42d74d475 126 else if( switch1.read() == 1)
AK1412 0:0cb42d74d475 127 led.write(1);
AK1412 0:0cb42d74d475 128
AK1412 0:0cb42d74d475 129 wait( time);
AK1412 0:0cb42d74d475 130 }
AK1412 0:0cb42d74d475 131 }