![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
123
main.cpp@0:caf81a29d035, 2018-09-29 (annotated)
- Committer:
- joaomazza
- Date:
- Sat Sep 29 19:14:08 2018 +0000
- Revision:
- 0:caf81a29d035
d
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
joaomazza | 0:caf81a29d035 | 1 | #include "mbed.h" |
joaomazza | 0:caf81a29d035 | 2 | #define NUM_COUNTS 2 |
joaomazza | 0:caf81a29d035 | 3 | |
joaomazza | 0:caf81a29d035 | 4 | InterruptIn button(PB_9); |
joaomazza | 0:caf81a29d035 | 5 | DigitalOut simulation(PA_8); |
joaomazza | 0:caf81a29d035 | 6 | int count; |
joaomazza | 0:caf81a29d035 | 7 | float t1 = 0, total = 0, RPM; |
joaomazza | 0:caf81a29d035 | 8 | Timer t; |
joaomazza | 0:caf81a29d035 | 9 | Serial pc(PA_9, PA_10); // tx and rx |
joaomazza | 0:caf81a29d035 | 10 | |
joaomazza | 0:caf81a29d035 | 11 | void flip() { |
joaomazza | 0:caf81a29d035 | 12 | t.start(); |
joaomazza | 0:caf81a29d035 | 13 | count++; |
joaomazza | 0:caf81a29d035 | 14 | total += t.read_ms() - t1; |
joaomazza | 0:caf81a29d035 | 15 | t1 = t.read_ms(); |
joaomazza | 0:caf81a29d035 | 16 | } |
joaomazza | 0:caf81a29d035 | 17 | |
joaomazza | 0:caf81a29d035 | 18 | int main() { |
joaomazza | 0:caf81a29d035 | 19 | button.rise(&flip); // attach the address of the flip function to the rising edge |
joaomazza | 0:caf81a29d035 | 20 | while(1) { // wait around, interrupts will interrupt this! |
joaomazza | 0:caf81a29d035 | 21 | if(count >= NUM_COUNTS){ |
joaomazza | 0:caf81a29d035 | 22 | t.stop(); |
joaomazza | 0:caf81a29d035 | 23 | RPM = ((NUM_COUNTS-1)/(total/1000))*60; |
joaomazza | 0:caf81a29d035 | 24 | pc.printf("%.2f\n",RPM); |
joaomazza | 0:caf81a29d035 | 25 | count = 0; |
joaomazza | 0:caf81a29d035 | 26 | t1 = 0; |
joaomazza | 0:caf81a29d035 | 27 | total = 0; |
joaomazza | 0:caf81a29d035 | 28 | t.reset(); |
joaomazza | 0:caf81a29d035 | 29 | } |
joaomazza | 0:caf81a29d035 | 30 | simulation = 0; |
joaomazza | 0:caf81a29d035 | 31 | wait_ms(24); |
joaomazza | 0:caf81a29d035 | 32 | simulation = 1; |
joaomazza | 0:caf81a29d035 | 33 | wait_ms(1); |
joaomazza | 0:caf81a29d035 | 34 | } |
joaomazza | 0:caf81a29d035 | 35 | } |