This is a very simple way to count DigitalIn rising by using Ticker Interrupts.

Dependencies:   mbed

Committer:
MBE13170
Date:
Thu Dec 23 07:48:27 2010 +0000
Revision:
0:d8173cfb7a78

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MBE13170 0:d8173cfb7a78 1 #include "mbed.h"
MBE13170 0:d8173cfb7a78 2
MBE13170 0:d8173cfb7a78 3 class Pswitch {
MBE13170 0:d8173cfb7a78 4 public:
MBE13170 0:d8173cfb7a78 5 Pswitch(PinName in);
MBE13170 0:d8173cfb7a78 6
MBE13170 0:d8173cfb7a78 7 int read (void);
MBE13170 0:d8173cfb7a78 8 int count (void);
MBE13170 0:d8173cfb7a78 9 operator int();
MBE13170 0:d8173cfb7a78 10
MBE13170 0:d8173cfb7a78 11 private :
MBE13170 0:d8173cfb7a78 12 // objects
MBE13170 0:d8173cfb7a78 13 DigitalIn _in;
MBE13170 0:d8173cfb7a78 14 Ticker _ticker;
MBE13170 0:d8173cfb7a78 15
MBE13170 0:d8173cfb7a78 16 // function to take a sample, and update flags
MBE13170 0:d8173cfb7a78 17 void _sample(void);
MBE13170 0:d8173cfb7a78 18
MBE13170 0:d8173cfb7a78 19 // counters and flags
MBE13170 0:d8173cfb7a78 20 int _samples;
MBE13170 0:d8173cfb7a78 21 int _output;
MBE13170 0:d8173cfb7a78 22 int _output_last;
MBE13170 0:d8173cfb7a78 23 int _rising_flag;
MBE13170 0:d8173cfb7a78 24
MBE13170 0:d8173cfb7a78 25 };
MBE13170 0:d8173cfb7a78 26