a
Dependencies: mbed mbed-STM32F103C8T6
main.cpp@0:0cb42d74d475, 2018-12-29 (annotated)
- Committer:
- AK1412
- Date:
- Sat Dec 29 11:57:03 2018 +0000
- Revision:
- 0:0cb42d74d475
a
Who changed what in which revision?
User | Revision | Line number | New 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 | } |