Ciao,
la libreria delay possiede attualmente solo la funzione delay_ms. Nel file header consiglio un massimo di 10000ms ovvero 10s.
Non conviene andare in realtà oltre 1000ms (1s) visto che la funzione è bloccante, ovvero quando è in esecuzione non fai altro (a meno di interruzioni). Per ritardi lunghi conviene fare cicli.
La particolarità della funzione delay è che il quarzo, ovvero la frequenza di clock può essere cambiata in maniera dinamica, richiamando la funzione setQuartz () che di default è impostata a 20MHz. Questo risulta utile in applicazioni in cui la frequenza di clock dovesse essere variata in maniera dinamica (usando il PLL o divisore interno).
Molte librerie di delay possono esser impostate in funzione del quarzo ma questo può essere fatto solo a tempo di compilazione.
Per ritardi di us la libreria non può essere usata ma puoi usare le funzioni di ritardo della stessa Microchip basate sui cicli di clock.
Saluti,
Mauro