Pol Rodoreda Valeri
/
RTOS_rma
dnj
Fork of rtos_basic by
main.cpp@7:62b77d1d7f0d, 2016-11-11 (annotated)
- Committer:
- polrodoreda
- Date:
- Fri Nov 11 18:46:32 2016 +0000
- Revision:
- 7:62b77d1d7f0d
- Parent:
- 3:c92e21f305d8
P5
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
emilmont | 1:491820ee784d | 1 | #include "mbed.h" |
emilmont | 1:491820ee784d | 2 | #include "rtos.h" |
polrodoreda | 7:62b77d1d7f0d | 3 | |
emilmont | 1:491820ee784d | 4 | |
polrodoreda | 7:62b77d1d7f0d | 5 | DigitalOut led1S(p8); |
polrodoreda | 7:62b77d1d7f0d | 6 | DigitalOut led2S(p10); |
polrodoreda | 7:62b77d1d7f0d | 7 | |
polrodoreda | 7:62b77d1d7f0d | 8 | Timer tim1; |
polrodoreda | 7:62b77d1d7f0d | 9 | Timer tim2; |
polrodoreda | 7:62b77d1d7f0d | 10 | Timer tim; |
polrodoreda | 7:62b77d1d7f0d | 11 | |
polrodoreda | 7:62b77d1d7f0d | 12 | int vector[4][100]; |
polrodoreda | 7:62b77d1d7f0d | 13 | int index = 0; |
polrodoreda | 7:62b77d1d7f0d | 14 | |
polrodoreda | 7:62b77d1d7f0d | 15 | void t1_thread(void const *args) { |
polrodoreda | 7:62b77d1d7f0d | 16 | while(true) { |
polrodoreda | 7:62b77d1d7f0d | 17 | if(tim2.read_ms()==0){ |
polrodoreda | 7:62b77d1d7f0d | 18 | vector[0][index]=tim.read_ms(); |
polrodoreda | 7:62b77d1d7f0d | 19 | } |
polrodoreda | 7:62b77d1d7f0d | 20 | tim1.start(); |
polrodoreda | 7:62b77d1d7f0d | 21 | tim2.stop(); |
polrodoreda | 7:62b77d1d7f0d | 22 | if(tim1.read_ms()>100){ |
polrodoreda | 7:62b77d1d7f0d | 23 | tim1.stop(); |
polrodoreda | 7:62b77d1d7f0d | 24 | vector[1][index]=tim.read_ms(); |
polrodoreda | 7:62b77d1d7f0d | 25 | tim1.reset(); |
polrodoreda | 7:62b77d1d7f0d | 26 | } |
emilmont | 1:491820ee784d | 27 | } |
emilmont | 1:491820ee784d | 28 | } |
polrodoreda | 7:62b77d1d7f0d | 29 | |
polrodoreda | 7:62b77d1d7f0d | 30 | void t2_thread(void const *args) { |
polrodoreda | 7:62b77d1d7f0d | 31 | while(true) { |
polrodoreda | 7:62b77d1d7f0d | 32 | if(tim1.read_ms()==0){ |
polrodoreda | 7:62b77d1d7f0d | 33 | vector[2][index]=tim.read_ms(); |
polrodoreda | 7:62b77d1d7f0d | 34 | } |
polrodoreda | 7:62b77d1d7f0d | 35 | tim2.start(); |
polrodoreda | 7:62b77d1d7f0d | 36 | tim1.stop(); |
polrodoreda | 7:62b77d1d7f0d | 37 | if(tim2.read_ms()>200){ |
polrodoreda | 7:62b77d1d7f0d | 38 | tim2.stop(); |
polrodoreda | 7:62b77d1d7f0d | 39 | vector[3][index]=tim.read_ms(); |
polrodoreda | 7:62b77d1d7f0d | 40 | tim2.reset(); |
polrodoreda | 7:62b77d1d7f0d | 41 | if(index<100){ |
polrodoreda | 7:62b77d1d7f0d | 42 | index++; |
polrodoreda | 7:62b77d1d7f0d | 43 | }else{ |
polrodoreda | 7:62b77d1d7f0d | 44 | for(int i=0; i<100;i++){ |
polrodoreda | 7:62b77d1d7f0d | 45 | printf("%d,%d,%d,%d\r\n", vector[0][i], vector[1][i], vector[2][i], vector[3][i]); |
polrodoreda | 7:62b77d1d7f0d | 46 | } |
polrodoreda | 7:62b77d1d7f0d | 47 | printf("\r\n"); |
polrodoreda | 7:62b77d1d7f0d | 48 | |
polrodoreda | 7:62b77d1d7f0d | 49 | } |
polrodoreda | 7:62b77d1d7f0d | 50 | } |
emilmont | 1:491820ee784d | 51 | } |
emilmont | 1:491820ee784d | 52 | } |
polrodoreda | 7:62b77d1d7f0d | 53 | int main() { |
polrodoreda | 7:62b77d1d7f0d | 54 | Thread thread1(t1_thread); |
polrodoreda | 7:62b77d1d7f0d | 55 | Thread thread2(t2_thread); |
polrodoreda | 7:62b77d1d7f0d | 56 | tim.start(); |
polrodoreda | 7:62b77d1d7f0d | 57 | while (true) { |
polrodoreda | 7:62b77d1d7f0d | 58 | } |
polrodoreda | 7:62b77d1d7f0d | 59 | } |