
koubou no program death.
main.cpp@0:e814f5861f7c, 2015-08-28 (annotated)
- Committer:
- kambara1415
- Date:
- Fri Aug 28 05:04:23 2015 +0000
- Revision:
- 0:e814f5861f7c
koubou no prog.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kambara1415 | 0:e814f5861f7c | 1 | #include "mbed.h" |
kambara1415 | 0:e814f5861f7c | 2 | |
kambara1415 | 0:e814f5861f7c | 3 | Serial pc(USBTX, USBRX); |
kambara1415 | 0:e814f5861f7c | 4 | Ticker serial_time; |
kambara1415 | 0:e814f5861f7c | 5 | DigitalIn encoderA(p19); |
kambara1415 | 0:e814f5861f7c | 6 | DigitalIn encoderB(p18); |
kambara1415 | 0:e814f5861f7c | 7 | |
kambara1415 | 0:e814f5861f7c | 8 | int AB = 0; |
kambara1415 | 0:e814f5861f7c | 9 | int pre_AB = 0; |
kambara1415 | 0:e814f5861f7c | 10 | int count = 0; |
kambara1415 | 0:e814f5861f7c | 11 | double deg = 0; |
kambara1415 | 0:e814f5861f7c | 12 | |
kambara1415 | 0:e814f5861f7c | 13 | void output(){ |
kambara1415 | 0:e814f5861f7c | 14 | pc.printf("count = %d\ndistance = %.1lf\nAB = %d", count, deg, AB); |
kambara1415 | 0:e814f5861f7c | 15 | } |
kambara1415 | 0:e814f5861f7c | 16 | |
kambara1415 | 0:e814f5861f7c | 17 | int main() { |
kambara1415 | 0:e814f5861f7c | 18 | serial_time.attach(&output, 1.0); |
kambara1415 | 0:e814f5861f7c | 19 | while(1) { |
kambara1415 | 0:e814f5861f7c | 20 | AB = 00; |
kambara1415 | 0:e814f5861f7c | 21 | if(encoderA) AB += 10; |
kambara1415 | 0:e814f5861f7c | 22 | if(encoderB) AB += 01; |
kambara1415 | 0:e814f5861f7c | 23 | |
kambara1415 | 0:e814f5861f7c | 24 | if(AB == 00){ |
kambara1415 | 0:e814f5861f7c | 25 | if(pre_AB == 10) count++; |
kambara1415 | 0:e814f5861f7c | 26 | if(pre_AB == 01) count--; |
kambara1415 | 0:e814f5861f7c | 27 | } |
kambara1415 | 0:e814f5861f7c | 28 | if(AB == 01){ |
kambara1415 | 0:e814f5861f7c | 29 | if(pre_AB == 00) count++; |
kambara1415 | 0:e814f5861f7c | 30 | if(pre_AB == 11) count--; |
kambara1415 | 0:e814f5861f7c | 31 | } |
kambara1415 | 0:e814f5861f7c | 32 | if(AB == 10){ |
kambara1415 | 0:e814f5861f7c | 33 | if(pre_AB == 11) count++; |
kambara1415 | 0:e814f5861f7c | 34 | if(pre_AB == 00) count--; |
kambara1415 | 0:e814f5861f7c | 35 | } |
kambara1415 | 0:e814f5861f7c | 36 | if(AB == 11){ |
kambara1415 | 0:e814f5861f7c | 37 | if(pre_AB == 01) count++; |
kambara1415 | 0:e814f5861f7c | 38 | if(pre_AB == 10) count--; |
kambara1415 | 0:e814f5861f7c | 39 | } |
kambara1415 | 0:e814f5861f7c | 40 | deg = (double)count * 0.25; |
kambara1415 | 0:e814f5861f7c | 41 | pre_AB = AB; |
kambara1415 | 0:e814f5861f7c | 42 | } |
kambara1415 | 0:e814f5861f7c | 43 | } |