ticker aan de praat proberen te krijgen
Dependencies: MODSERIAL mbed QEI
main.cpp@1:9a06f249ccf0, 2016-10-17 (annotated)
- Committer:
- sivuu
- Date:
- Mon Oct 17 13:07:26 2016 +0000
- Revision:
- 1:9a06f249ccf0
- Parent:
- 0:e97d89c1bf32
- Child:
- 2:f70238e93bf0
ticker met aangepast door assistent dus nu met bool en flag;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sivuu | 0:e97d89c1bf32 | 1 | #include <iostream> |
sivuu | 0:e97d89c1bf32 | 2 | #include <cstdio> |
sivuu | 0:e97d89c1bf32 | 3 | #include <ctime> |
sivuu | 0:e97d89c1bf32 | 4 | #include "MODSERIAL.h" |
sivuu | 0:e97d89c1bf32 | 5 | #include "stdio.h" |
sivuu | 1:9a06f249ccf0 | 6 | #include "mbed.h" //standaard bieb mbed |
sivuu | 1:9a06f249ccf0 | 7 | #include "QEI.h" //bieb voor encoderfuncties in c++ |
sivuu | 1:9a06f249ccf0 | 8 | InterruptIn sw3(SW3); |
sivuu | 1:9a06f249ccf0 | 9 | DigitalIn encoder1A(D13); |
sivuu | 1:9a06f249ccf0 | 10 | DigitalIn encoder1B(D12); |
sivuu | 1:9a06f249ccf0 | 11 | DigitalIn encoder2A(D11); |
sivuu | 1:9a06f249ccf0 | 12 | DigitalIn encoder2B(D10); |
sivuu | 1:9a06f249ccf0 | 13 | DigitalIn button_cw(D9); |
sivuu | 1:9a06f249ccf0 | 14 | DigitalIn button_ccw(D8); |
sivuu | 1:9a06f249ccf0 | 15 | MODSERIAL pc(USBTX, USBRX); |
sivuu | 1:9a06f249ccf0 | 16 | DigitalOut richting_motor1(D4); |
sivuu | 1:9a06f249ccf0 | 17 | PwmOut pwm_motor1(D5); |
sivuu | 1:9a06f249ccf0 | 18 | DigitalOut richting_motor2(D7); |
sivuu | 1:9a06f249ccf0 | 19 | PwmOut pwm_motor2(D6); |
sivuu | 0:e97d89c1bf32 | 20 | |
sivuu | 0:e97d89c1bf32 | 21 | MODSERIAL pc(USBTX, USBRX); |
sivuu | 0:e97d89c1bf32 | 22 | |
sivuu | 1:9a06f249ccf0 | 23 | double current_position = 0; |
sivuu | 1:9a06f249ccf0 | 24 | double previous_position = 0; |
sivuu | 1:9a06f249ccf0 | 25 | volatile bool tickerflag; |
sivuu | 0:e97d89c1bf32 | 26 | |
sivuu | 0:e97d89c1bf32 | 27 | double ticker_TS=0.01; |
sivuu | 1:9a06f249ccf0 | 28 | volatile double timepassed=0; |
sivuu | 0:e97d89c1bf32 | 29 | Ticker t; |
sivuu | 1:9a06f249ccf0 | 30 | |
sivuu | 1:9a06f249ccf0 | 31 | void tickerfunctie() |
sivuu | 0:e97d89c1bf32 | 32 | { |
sivuu | 1:9a06f249ccf0 | 33 | tickerflag = 1; |
sivuu | 0:e97d89c1bf32 | 34 | } |
sivuu | 0:e97d89c1bf32 | 35 | |
sivuu | 0:e97d89c1bf32 | 36 | int main() |
sivuu | 0:e97d89c1bf32 | 37 | { |
sivuu | 0:e97d89c1bf32 | 38 | pc.baud(115200); |
sivuu | 1:9a06f249ccf0 | 39 | t.attach(&tickerfunctie,ticker_TS); |
sivuu | 0:e97d89c1bf32 | 40 | while (true){ |
sivuu | 1:9a06f249ccf0 | 41 | if ( tickerflag == 1) |
sivuu | 1:9a06f249ccf0 | 42 | { |
sivuu | 1:9a06f249ccf0 | 43 | previous_position = current_position; |
sivuu | 1:9a06f249ccf0 | 44 | current_position = encodershit; |
sivuu | 0:e97d89c1bf32 | 45 | |
sivuu | 1:9a06f249ccf0 | 46 | snelheid = (current_position - previous_position) / ts |
sivuu | 1:9a06f249ccf0 | 47 | |
sivuu | 1:9a06f249ccf0 | 48 | tickerflag = 0; |
sivuu | 1:9a06f249ccf0 | 49 | } |
sivuu | 1:9a06f249ccf0 | 50 | pc.printf("tijd voorbij: %f \r\n", timepassed); |
sivuu | 0:e97d89c1bf32 | 51 | } |
sivuu | 0:e97d89c1bf32 | 52 | } |