can anyone explain how lowerTask is executing as delay is 500 ms for all tasks and when highTask is done executing medium task will again be ready for execution right? and it should again executed before lowertask... i dont understand how it is executing i am thinking it will never execute may be i am wrong?
"The semaphore is created in the ’empty’ state, meaning the semaphore must first be given using the xSemaphoreGive() API function before it can subsequently be taken (obtained) using the xSemaphoreTake() function." Could you clarify in which part of the code initially the semaphore was given. Thanks
I know the task called "suspended" in freertos states. But we didn't call the vsuspendxxx functions right? without calling them how can you say they are in suspended state.? but I understood how they can be used. The below statement is given by freertos website. "Like tasks that are in the Blocked state, tasks in the Suspended state cannot be selected to enter the Running state, but tasks in the Suspended state do not have a time out. Instead, tasks only enter or exit the Suspended state when explicitly commanded to do so through the vTaskSuspend() and xTaskResume() API calls respectively."
How did you change code text colouring palette from default? I see your numerals are yellow, functions are pink and so on. I can't seem to google it, thank you!
For Hercules usage do any connection needed? i connected stm32 board on com 10 chosen com 10 in Hercules tool serial port is opening but nothing printing.
Printing is just for the test. I used uart to send data to the hercules. If you want to print as shown in the video, you need to check if uart is configured and working properly ?
No, because access to the flag is not controlled. Two tasks may attempt to access the flag at the same time, resulting in a race condition or deadlock. Semaphore solves this because the RTOS manages access to the semaphore (flag) and ensures only one task can access it at a time.
Hello, how are you I appreciate what you did a lot, really you are the best I have a problem with a program I did that has freertos and sdfat as middle wares, in details, I created two threads, one for logging data from sensors and RTC on the SD card in an excel file every 500 ms, and the other thread is for creating new excel file on the same SD card and log new data on it. when I press a push button, the second thread executes and a new excel file is created, at the first start I have the file named LOG0, when I start the data are logged on LOG0, when I press the button, a new file named LOG1 is created ( every push increments the number beside LOG).... every thing is working perfect, but it don't work except if I push reset button twice. when the .axf file is burn to the board ( stm32f4VET ), I press the reset button, but it don't work until I press it second time, If I press it third time it won't work, fourth time works and etc.... Note that when I delete the second thread, the problem didn't exist anymore, when I add it the problem exists newly.... the SD thread is normal prior and the button thread is below normal, and executes every 100 ms.... I please you could help me, thanks a lot
@@ControllersTech I used rtos with 2 tasks, when I burn the .axf file to the microcontroller, it dont work except when I press reset button twice... the reset button must be pressed even times not odd to work ... when I deleted the second task from the code it works fine