You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 5, 2019. It is now read-only.
This was a post that I did at GHI,, but was referred to this forum as it tends to dig in deeper than the hobbiest does,, but not as deep as a professional programmer. I am slowly getting a better understanding of how all of this works, and appreciate any help.
Thanks.
It was my understanding, that the Thread Scheduler was ran at the CRL level...
But yet,, when digging into the 1-Wire protocols at the PAL Layer,, I run into this
C++
//timing critical, so I'll disable interrupts here
GLOBAL_LOCK(irq); //EA = 0;
Then in reading more,, I find:
As of v4.4 the updated port of the lwIP network stack requires a minimal pre-emptive thread scheduler
So,,, my questions are: Does the CRL thread scheduler use irq's to decide when to switch threads?
If there is a long enough Delay added in the PAL layer, will it allow a separate thread to run while its paused?
If a PAL Routine is started,, but its execution takes longer than the thread time that it is called from,, will it swap threads or wait till the execution is finished?