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.
Encoders.cpp@0:fb2b540167a8, 2018-09-25 (annotated)
- Committer:
- Thijsjeee
- Date:
- Tue Sep 25 15:48:29 2018 +0000
- Revision:
- 0:fb2b540167a8
hoi;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Thijsjeee | 0:fb2b540167a8 | 1 | #include "mbed.h" |
| Thijsjeee | 0:fb2b540167a8 | 2 | #include <math.h> |
| Thijsjeee | 0:fb2b540167a8 | 3 | |
| Thijsjeee | 0:fb2b540167a8 | 4 | |
| Thijsjeee | 0:fb2b540167a8 | 5 | DigitalOut Led1(D5); |
| Thijsjeee | 0:fb2b540167a8 | 6 | DigitalOut Led2(D4); |
| Thijsjeee | 0:fb2b540167a8 | 7 | DigitalIn B(D2); |
| Thijsjeee | 0:fb2b540167a8 | 8 | DigitalIn A(D3); |
| Thijsjeee | 0:fb2b540167a8 | 9 | Ticker check; |
| Thijsjeee | 0:fb2b540167a8 | 10 | Ticker printer; |
| Thijsjeee | 0:fb2b540167a8 | 11 | volatile int prev_A; |
| Thijsjeee | 0:fb2b540167a8 | 12 | volatile int prev_B; |
| Thijsjeee | 0:fb2b540167a8 | 13 | int state = 0; |
| Thijsjeee | 0:fb2b540167a8 | 14 | |
| Thijsjeee | 0:fb2b540167a8 | 15 | |
| Thijsjeee | 0:fb2b540167a8 | 16 | void Printer() |
| Thijsjeee | 0:fb2b540167a8 | 17 | { |
| Thijsjeee | 0:fb2b540167a8 | 18 | printf("%i\r\n",state); |
| Thijsjeee | 0:fb2b540167a8 | 19 | } |
| Thijsjeee | 0:fb2b540167a8 | 20 | |
| Thijsjeee | 0:fb2b540167a8 | 21 | |
| Thijsjeee | 0:fb2b540167a8 | 22 | void Checker () |
| Thijsjeee | 0:fb2b540167a8 | 23 | { |
| Thijsjeee | 0:fb2b540167a8 | 24 | if (prev_A == 1) |
| Thijsjeee | 0:fb2b540167a8 | 25 | { |
| Thijsjeee | 0:fb2b540167a8 | 26 | if(A == 0) |
| Thijsjeee | 0:fb2b540167a8 | 27 | { |
| Thijsjeee | 0:fb2b540167a8 | 28 | ++state; |
| Thijsjeee | 0:fb2b540167a8 | 29 | } |
| Thijsjeee | 0:fb2b540167a8 | 30 | } |
| Thijsjeee | 0:fb2b540167a8 | 31 | if (prev_A == 0) |
| Thijsjeee | 0:fb2b540167a8 | 32 | { |
| Thijsjeee | 0:fb2b540167a8 | 33 | if(A == 1) |
| Thijsjeee | 0:fb2b540167a8 | 34 | { |
| Thijsjeee | 0:fb2b540167a8 | 35 | ++state; |
| Thijsjeee | 0:fb2b540167a8 | 36 | } |
| Thijsjeee | 0:fb2b540167a8 | 37 | } |
| Thijsjeee | 0:fb2b540167a8 | 38 | prev_A = A; |
| Thijsjeee | 0:fb2b540167a8 | 39 | |
| Thijsjeee | 0:fb2b540167a8 | 40 | |
| Thijsjeee | 0:fb2b540167a8 | 41 | if (prev_B == 1) |
| Thijsjeee | 0:fb2b540167a8 | 42 | { |
| Thijsjeee | 0:fb2b540167a8 | 43 | if(B == 0) |
| Thijsjeee | 0:fb2b540167a8 | 44 | { |
| Thijsjeee | 0:fb2b540167a8 | 45 | ++state; |
| Thijsjeee | 0:fb2b540167a8 | 46 | } |
| Thijsjeee | 0:fb2b540167a8 | 47 | } |
| Thijsjeee | 0:fb2b540167a8 | 48 | if (prev_B == 0) |
| Thijsjeee | 0:fb2b540167a8 | 49 | { |
| Thijsjeee | 0:fb2b540167a8 | 50 | if(B == 1) |
| Thijsjeee | 0:fb2b540167a8 | 51 | { |
| Thijsjeee | 0:fb2b540167a8 | 52 | ++state; |
| Thijsjeee | 0:fb2b540167a8 | 53 | } |
| Thijsjeee | 0:fb2b540167a8 | 54 | } |
| Thijsjeee | 0:fb2b540167a8 | 55 | prev_B = B; |
| Thijsjeee | 0:fb2b540167a8 | 56 | } |
| Thijsjeee | 0:fb2b540167a8 | 57 | |
| Thijsjeee | 0:fb2b540167a8 | 58 | |
| Thijsjeee | 0:fb2b540167a8 | 59 | |
| Thijsjeee | 0:fb2b540167a8 | 60 | |
| Thijsjeee | 0:fb2b540167a8 | 61 | main() |
| Thijsjeee | 0:fb2b540167a8 | 62 | { |
| Thijsjeee | 0:fb2b540167a8 | 63 | printer.attach(Printer, 0.1); |
| Thijsjeee | 0:fb2b540167a8 | 64 | check.attach(Checker, 1e-6); |
| Thijsjeee | 0:fb2b540167a8 | 65 | prev_A = A; |
| Thijsjeee | 0:fb2b540167a8 | 66 | prev_B = B; |
| Thijsjeee | 0:fb2b540167a8 | 67 | while(true) |
| Thijsjeee | 0:fb2b540167a8 | 68 | { |
| Thijsjeee | 0:fb2b540167a8 | 69 | } |
| Thijsjeee | 0:fb2b540167a8 | 70 | } |