Yifan Weng
/
Buggyproject
Convert the pwm signal generated by reciever into a signal used by H-bridge
main.cpp@0:c66e5ca3bad6, 2019-05-06 (annotated)
- Committer:
- fy17y2w
- Date:
- Mon May 06 21:24:22 2019 +0000
- Revision:
- 0:c66e5ca3bad6
N/A
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fy17y2w | 0:c66e5ca3bad6 | 1 | #include "mbed.h" |
fy17y2w | 0:c66e5ca3bad6 | 2 | #include "PwmIn.h" |
fy17y2w | 0:c66e5ca3bad6 | 3 | |
fy17y2w | 0:c66e5ca3bad6 | 4 | |
fy17y2w | 0:c66e5ca3bad6 | 5 | Timer t; |
fy17y2w | 0:c66e5ca3bad6 | 6 | PwmOut white_up(PC_8),white_down(PC_9),gray_up(PC_6),gray_down(PB_8); |
fy17y2w | 0:c66e5ca3bad6 | 7 | PwmIn lin(A0),rin(A1); |
fy17y2w | 0:c66e5ca3bad6 | 8 | int main() |
fy17y2w | 0:c66e5ca3bad6 | 9 | { |
fy17y2w | 0:c66e5ca3bad6 | 10 | white_up.period_ms(2.5); |
fy17y2w | 0:c66e5ca3bad6 | 11 | white_down.period_ms(2.5); |
fy17y2w | 0:c66e5ca3bad6 | 12 | gray_up.period_ms(2.5); |
fy17y2w | 0:c66e5ca3bad6 | 13 | gray_down.period_ms(2.5); |
fy17y2w | 0:c66e5ca3bad6 | 14 | while(1){ |
fy17y2w | 0:c66e5ca3bad6 | 15 | if(lin.dutycycle()<0.59 ){ |
fy17y2w | 0:c66e5ca3bad6 | 16 | gray_down.write(-(lin.dutycycle()-0.59)*4.34); |
fy17y2w | 0:c66e5ca3bad6 | 17 | wait_ms(10); |
fy17y2w | 0:c66e5ca3bad6 | 18 | } |
fy17y2w | 0:c66e5ca3bad6 | 19 | else if(lin.dutycycle()>0.61){ |
fy17y2w | 0:c66e5ca3bad6 | 20 | white_down.write((lin.dutycycle()-0.61)*4.54 ); |
fy17y2w | 0:c66e5ca3bad6 | 21 | wait_ms(10); |
fy17y2w | 0:c66e5ca3bad6 | 22 | } |
fy17y2w | 0:c66e5ca3bad6 | 23 | else{ |
fy17y2w | 0:c66e5ca3bad6 | 24 | white_down.write(0); |
fy17y2w | 0:c66e5ca3bad6 | 25 | gray_down.write(0); |
fy17y2w | 0:c66e5ca3bad6 | 26 | wait_ms(10); |
fy17y2w | 0:c66e5ca3bad6 | 27 | } |
fy17y2w | 0:c66e5ca3bad6 | 28 | if(rin.dutycycle()< 0.59){ |
fy17y2w | 0:c66e5ca3bad6 | 29 | gray_up.write(-(rin.dutycycle()-0.59)*4.34 ); |
fy17y2w | 0:c66e5ca3bad6 | 30 | wait_ms(10); |
fy17y2w | 0:c66e5ca3bad6 | 31 | } |
fy17y2w | 0:c66e5ca3bad6 | 32 | else if(rin.dutycycle()>0.61){ |
fy17y2w | 0:c66e5ca3bad6 | 33 | white_up.write((rin.dutycycle()-0.61)*4.34 ); |
fy17y2w | 0:c66e5ca3bad6 | 34 | wait_ms(10); |
fy17y2w | 0:c66e5ca3bad6 | 35 | } |
fy17y2w | 0:c66e5ca3bad6 | 36 | else{ |
fy17y2w | 0:c66e5ca3bad6 | 37 | white_up.write(0); |
fy17y2w | 0:c66e5ca3bad6 | 38 | gray_up.write(0); |
fy17y2w | 0:c66e5ca3bad6 | 39 | wait_ms(10); |
fy17y2w | 0:c66e5ca3bad6 | 40 | } |
fy17y2w | 0:c66e5ca3bad6 | 41 | } |
fy17y2w | 0:c66e5ca3bad6 | 42 | |
fy17y2w | 0:c66e5ca3bad6 | 43 | |
fy17y2w | 0:c66e5ca3bad6 | 44 | |
fy17y2w | 0:c66e5ca3bad6 | 45 | |
fy17y2w | 0:c66e5ca3bad6 | 46 | } |