mbed school
/
ch5_mbed_dust_sensor
ch5_mbed_dust_sensor
main.cpp@0:859e0fd616ee, 2015-01-26 (annotated)
- Committer:
- mbedschool
- Date:
- Mon Jan 26 09:10:53 2015 +0000
- Revision:
- 0:859e0fd616ee
ch5_mbed_dust_sensor
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbedschool | 0:859e0fd616ee | 1 | #include "mbed.h" |
mbedschool | 0:859e0fd616ee | 2 | |
mbedschool | 0:859e0fd616ee | 3 | Serial pc(USBTX, USBRX); |
mbedschool | 0:859e0fd616ee | 4 | InterruptIn probe(p19); |
mbedschool | 0:859e0fd616ee | 5 | DigitalOut led(LED1); |
mbedschool | 0:859e0fd616ee | 6 | |
mbedschool | 0:859e0fd616ee | 7 | Timer timer; |
mbedschool | 0:859e0fd616ee | 8 | Ticker ticker; |
mbedschool | 0:859e0fd616ee | 9 | |
mbedschool | 0:859e0fd616ee | 10 | uint32_t low_time = 0; |
mbedschool | 0:859e0fd616ee | 11 | |
mbedschool | 0:859e0fd616ee | 12 | void down(); |
mbedschool | 0:859e0fd616ee | 13 | void up(); |
mbedschool | 0:859e0fd616ee | 14 | |
mbedschool | 0:859e0fd616ee | 15 | void tick() |
mbedschool | 0:859e0fd616ee | 16 | { |
mbedschool | 0:859e0fd616ee | 17 | pc.printf("%d us, %f %%\r\n", low_time, low_time / (30.0 * 1000000)); |
mbedschool | 0:859e0fd616ee | 18 | low_time = 0; |
mbedschool | 0:859e0fd616ee | 19 | } |
mbedschool | 0:859e0fd616ee | 20 | |
mbedschool | 0:859e0fd616ee | 21 | void down() |
mbedschool | 0:859e0fd616ee | 22 | { |
mbedschool | 0:859e0fd616ee | 23 | probe.rise(&up); |
mbedschool | 0:859e0fd616ee | 24 | led = 0; |
mbedschool | 0:859e0fd616ee | 25 | timer.start(); |
mbedschool | 0:859e0fd616ee | 26 | } |
mbedschool | 0:859e0fd616ee | 27 | |
mbedschool | 0:859e0fd616ee | 28 | void up() |
mbedschool | 0:859e0fd616ee | 29 | { |
mbedschool | 0:859e0fd616ee | 30 | led = 1; |
mbedschool | 0:859e0fd616ee | 31 | timer.stop(); |
mbedschool | 0:859e0fd616ee | 32 | probe.fall(&down); |
mbedschool | 0:859e0fd616ee | 33 | |
mbedschool | 0:859e0fd616ee | 34 | low_time += timer.read_us(); |
mbedschool | 0:859e0fd616ee | 35 | timer.reset(); |
mbedschool | 0:859e0fd616ee | 36 | } |
mbedschool | 0:859e0fd616ee | 37 | |
mbedschool | 0:859e0fd616ee | 38 | int main() |
mbedschool | 0:859e0fd616ee | 39 | { |
mbedschool | 0:859e0fd616ee | 40 | pc.baud(115200); |
mbedschool | 0:859e0fd616ee | 41 | pc.printf("Dust Sensor test\r\n"); |
mbedschool | 0:859e0fd616ee | 42 | probe.fall(&down); |
mbedschool | 0:859e0fd616ee | 43 | ticker.attach(tick, 30); |
mbedschool | 0:859e0fd616ee | 44 | } |