Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
counter.h@3:bd08a59ee473, 2011-11-25 (annotated)
- Committer:
- daveTshave
- Date:
- Fri Nov 25 14:41:04 2011 +0000
- Revision:
- 3:bd08a59ee473
- Parent:
- 2:fa04a99dcdab
tidied comments
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| daveTshave | 2:fa04a99dcdab | 1 | #ifndef counter_H |
| daveTshave | 2:fa04a99dcdab | 2 | #define counter_H |
| daveTshave | 2:fa04a99dcdab | 3 | |
| daveTshave | 2:fa04a99dcdab | 4 | /** |
| daveTshave | 2:fa04a99dcdab | 5 | * Includes |
| daveTshave | 2:fa04a99dcdab | 6 | */ |
| daveTshave | 2:fa04a99dcdab | 7 | #include "mbed.h" |
| daveTshave | 2:fa04a99dcdab | 8 | |
| daveTshave | 2:fa04a99dcdab | 9 | /** |
| daveTshave | 2:fa04a99dcdab | 10 | * Simple counter |
| daveTshave | 2:fa04a99dcdab | 11 | */ |
| daveTshave | 2:fa04a99dcdab | 12 | class counter { |
| daveTshave | 2:fa04a99dcdab | 13 | |
| daveTshave | 2:fa04a99dcdab | 14 | public: |
| daveTshave | 2:fa04a99dcdab | 15 | |
| daveTshave | 2:fa04a99dcdab | 16 | |
| daveTshave | 2:fa04a99dcdab | 17 | /** |
| daveTshave | 2:fa04a99dcdab | 18 | * Constructor. |
| daveTshave | 2:fa04a99dcdab | 19 | * |
| daveTshave | 3:bd08a59ee473 | 20 | * Attaches the encode function to the rise edge of |
| daveTshave | 3:bd08a59ee473 | 21 | * channel A. |
| daveTshave | 2:fa04a99dcdab | 22 | * |
| daveTshave | 2:fa04a99dcdab | 23 | * @param channelA mbed pin for counter input. |
| daveTshave | 2:fa04a99dcdab | 24 | */ |
| daveTshave | 2:fa04a99dcdab | 25 | counter(PinName channelA); |
| daveTshave | 2:fa04a99dcdab | 26 | |
| daveTshave | 2:fa04a99dcdab | 27 | /** |
| daveTshave | 2:fa04a99dcdab | 28 | * Reset the encoder. |
| daveTshave | 2:fa04a99dcdab | 29 | * |
| daveTshave | 3:bd08a59ee473 | 30 | * Sets the pulses to zero. |
| daveTshave | 2:fa04a99dcdab | 31 | */ |
| daveTshave | 2:fa04a99dcdab | 32 | void reset(void); |
| daveTshave | 2:fa04a99dcdab | 33 | |
| daveTshave | 2:fa04a99dcdab | 34 | /** |
| daveTshave | 2:fa04a99dcdab | 35 | * Read the number of pulses recorded by the encoder. |
| daveTshave | 2:fa04a99dcdab | 36 | * |
| daveTshave | 2:fa04a99dcdab | 37 | * @return Number of pulses which have occured. |
| daveTshave | 2:fa04a99dcdab | 38 | */ |
| daveTshave | 2:fa04a99dcdab | 39 | int getPulses(void); |
| daveTshave | 2:fa04a99dcdab | 40 | |
| daveTshave | 2:fa04a99dcdab | 41 | private: |
| daveTshave | 2:fa04a99dcdab | 42 | |
| daveTshave | 2:fa04a99dcdab | 43 | /** |
| daveTshave | 2:fa04a99dcdab | 44 | * Update the pulse count. |
| daveTshave | 2:fa04a99dcdab | 45 | * |
| daveTshave | 2:fa04a99dcdab | 46 | * Called on every rising edge of channels A. |
| daveTshave | 2:fa04a99dcdab | 47 | * |
| daveTshave | 2:fa04a99dcdab | 48 | */ |
| daveTshave | 2:fa04a99dcdab | 49 | void encode(void); |
| daveTshave | 2:fa04a99dcdab | 50 | |
| daveTshave | 2:fa04a99dcdab | 51 | InterruptIn channelA_; |
| daveTshave | 2:fa04a99dcdab | 52 | |
| daveTshave | 2:fa04a99dcdab | 53 | volatile int pulses_; |
| daveTshave | 2:fa04a99dcdab | 54 | |
| daveTshave | 2:fa04a99dcdab | 55 | }; |
| daveTshave | 2:fa04a99dcdab | 56 | |
| daveTshave | 2:fa04a99dcdab | 57 | #endif /* counter_H */ |