ch5_mbed_dust_sensor
main.cpp
- Committer:
- mbedschool
- Date:
- 2015-01-26
- Revision:
- 0:859e0fd616ee
File content as of revision 0:859e0fd616ee:
#include "mbed.h"
Serial pc(USBTX, USBRX);
InterruptIn probe(p19);
DigitalOut led(LED1);
Timer timer;
Ticker ticker;
uint32_t low_time = 0;
void down();
void up();
void tick()
{
pc.printf("%d us, %f %%\r\n", low_time, low_time / (30.0 * 1000000));
low_time = 0;
}
void down()
{
probe.rise(&up);
led = 0;
timer.start();
}
void up()
{
led = 1;
timer.stop();
probe.fall(&down);
low_time += timer.read_us();
timer.reset();
}
int main()
{
pc.baud(115200);
pc.printf("Dust Sensor test\r\n");
probe.fall(&down);
ticker.attach(tick, 30);
}