Kero Sunutte
/
Pswitch
This is a very simple way to count DigitalIn rising by using Ticker Interrupts.
Pswitch.h@0:d8173cfb7a78, 2010-12-23 (annotated)
- Committer:
- MBE13170
- Date:
- Thu Dec 23 07:48:27 2010 +0000
- Revision:
- 0:d8173cfb7a78
Who changed what in which revision?
User | Revision | Line number | New 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 |