11// estamosRTOS
22// by Kuashio
33//
4- // Example application with 3 tasks.
4+ // Example application with 4 tasks.
55
66// Uncomment the following line to enable debug mode
77// #define ESTAMOSRTOS_DEBUG
@@ -14,17 +14,16 @@ volatile int shared=0, count=0;
1414estamosRTOS_mutex my_mutex = 0 ;
1515uint8_t t1 = 0 ,t2 = 0 ,t3 = 0 ,t4 = 0 ;
1616
17- #define ITERATIONS 2
17+
1818
1919uint8_t iterations [4 ]= {2 ,5 ,3 ,4 };
2020
2121void task1 (){
2222 volatile int i = 0 , j = 0 , k = 0 ;
2323 while (1 ){
24- t1 = t1 ?0 :1 ;
25- i = iterations [k ++ & 0xf ];
24+ i = iterations [k ++ & 0x3 ];
2625 while (estamosRTOS_mutex_lock (& my_mutex )){
27- //TODO: Yield() ;
26+ t1 = t1 ? 0 : 1 ;
2827 estamosRTOS_yield ();
2928 }
3029 while (i -- ){
@@ -34,7 +33,7 @@ void task1(){
3433 }
3534 estamosRTOS_mutex_unlock (& my_mutex );
3635
37- i = iterations [k ++ & 0xf ] * 980 ;
36+ i = iterations [k ++ & 0x3 ] * 480 ;
3837 while (i -- ){
3938 j = 40 - i * j ;
4039 j = 60 - i * 7 ;
@@ -46,16 +45,17 @@ void task1(){
4645void task2 (){
4746 volatile int i = 0 , j = 0 , k = 0 ;
4847 while (1 ){
49- t2 = t2 ?0 :1 ;
48+ // t2=t2?0:1;
5049 i = 20 ;
5150 i = 30 + j ;
5251 j = 40 - i * j ;
5352 i = j + 50 ;
5453 j = 60 - i * 7 ;
5554 i = j + 70 ;
5655 i = 80 ;
57- i = iterations [k ++ & 0xf ];
56+ i = iterations [k ++ & 0x3 ];
5857 while (estamosRTOS_mutex_lock (& my_mutex )){
58+ t2 = t2 ?0 :1 ;
5959 estamosRTOS_yield ();
6060 }
6161 while (i -- ){
@@ -65,7 +65,7 @@ void task2(){
6565 }
6666 estamosRTOS_mutex_unlock (& my_mutex );
6767
68- i = iterations [k ++ & 0xf ]* 230 ;
68+ i = iterations [k ++ & 0x3 ]* 230 ;
6969 while (i -- ){
7070 j = 40 - i * j ;
7171 j = 60 - i * 7 ;
@@ -78,7 +78,7 @@ void task3(){
7878 volatile int i = 0 , j = 0 , k = 0 ;
7979 while (1 ){
8080 t3 = t3 ?0 :1 ;
81- i = iterations [k ++ & 0xf ];
81+ i = iterations [k ++ & 0x3 ];
8282 if (!estamosRTOS_mutex_lock (& my_mutex )){
8383 while (i -- ){
8484 t3 = t3 ?0 :1 ;
@@ -101,7 +101,7 @@ void task4(){
101101 volatile int i = 0 , j = 0 , k = 0 ;
102102 while (1 ){
103103 t4 = t4 ?0 :1 ;
104- i = iterations [k ++ & 0xf ];
104+ i = iterations [k ++ & 0x3 ];
105105 if (!estamosRTOS_mutex_lock (& my_mutex )){
106106 while (i -- ){
107107 t4 = t4 ?0 :1 ;
0 commit comments