https://itp.nyu.edu/classes/prototypingelectronicdevices/wp-content/uploads/sites/105/2022/10/Class-9-Multitasking.pdf

<aside>

What exactly is delay() doing in Arduino? in ArduinoCore-avr Github page, the definition is as below:

void delay(unsigned long ms)
{
	uint32_t start = micros();

	while (ms > 0) {
		yield();
		while ( ms > 0 && (micros() - start) >= 1000) {
			ms--;
			start += 1000;
		}
	}
}

Ways to utilize the delay time —> use millis() to replace delay().

</aside>

<aside>

<aside>

Interrupt

void init(){

}

</aside>

unsigned long millis()
{
	unsigned long m;
	uint8_t oldSREG = SREG;

	// disable interrupts while we read timer0_millis or we might get an
	// inconsistent value (e.g. in the middle of a write to timer0_millis)
	cli();
	m = timer0_millis;
	SREG = oldSREG;

	return m;
}

<aside>

question:

I want to know about how to use documentation for Arduino/pi on GitHub. What info can we use?

</aside>