ShawnHymel / introduction-to-rtos

513 stars 124 forks source link

Something wrong in part 6 (Mutex demo) #6

Open m3y54m opened 1 year ago

m3y54m commented 1 year ago

Hello, First of all, thank you for this great course. I'm currently following the course and trying to write and test all the demos and challenges.

In part 6 where you talk about Mutex, I noticed that there is something wrong and only one of the tasks is executed, and the other task is completely blocked and never executed.

I found out this problem by adding these lines before Serial.println(shared_var); line in esp32-freertos-06-demo-mutex.ino.

The function pcTaskGetName(NULL) returns the pcName of the task.

      Serial.print(pcTaskGetName(NULL));
      Serial.print(" : ");
      Serial.println(shared_var);

This is the resulting output:

image

I still don't know why only one task is running. Maybe it has something to do with ‍‍xBlockTime or something else.