leOS - un semplice OS per schedulare piccoli task

Ricordati che il jmp $0000 NON è un reset, ma solo un riavvio del programma. Tutto il resto dell'integrato resta nello stato originale, comprese periferiche interne e pin esterni. Se tu hai qualcosa che viene inizializzato all'avvio dallo sketch, quel qualcosa mantiene lo stato in cui era quando hai chiamato il jmp.
Ecco perché resetto lo stato di tutti i pin prima di riavviare lo sketch, per riportarli allo stato flottante che hanno quando dai alimentazione alla scheda.