dnj

Dependencies:   mbed-rtos mbed

Fork of rtos_basic by mbed official

Committer:
polrodoreda
Date:
Fri Nov 11 18:46:32 2016 +0000
Revision:
7:62b77d1d7f0d
Parent:
3:c92e21f305d8
P5

Who changed what in which revision?

UserRevisionLine numberNew 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 }