TardoFreak ha scritto:pi, per carita', e' solo la mia opinione e vale quanto vale.
Vale, vale. Eccome se vale!
La discussione mi pareva avesse più carattere teorico che pratico sulla singola, e sulla specifica, routine di lampeggio di 2 led. Come tale la stavo portando avanti utilizzando il codice fornito come esempio. Ma la mia opinione non cambia in funzione della complessità della routine da scrivere.
La mia opinione è che non si debba partire, quando si scrive software, da considerazioni legate all'hardware. O almeno non in un primo momento. Nell'esempio citato è chiaro che se si parte considerando frequenze di clock, tempi di esecuzione di "tutto il resto" del programma, ecc. ogni istruzione, in ogni parte del programma, deve essere fortemente pensata e pesata. Ma allora forse anche la scelta del linguaggio diventa determinante.
E' mia opinione che il software debba essere pensato come fine a se stesso e non finalizzato solo al quel specifico pezzo di ferro su cui dovrà poi girare.
Necessito di una routine per far lampeggiare due led? Scrivo questa routine senza, inizialmente, calarla nell'hardware specifico. Solo in fase di deploy finale, quando tutto il software è pronto e devo ottimizzarlo, allora posso pensare a quali accorgimenti adottare ad esempio per far variare la frequenza di lampeggio.
Spero di essere riuscito a far comprendere il mio punto di vista.
Non scrivo software per micro se non per mio scopo personale ed hobbystico ed è forse per questo che il mio punto di vista non è corretto, ma ad oggi non mi sono mai trovato a dover tornare su una routine ripensandola ogni volta solo perché cambiava qualche cosa nell'hardware.