Per quanto riguarda i nomi delle variabili, io ragiono molto per immagini ma la RAM della scheda video è limitata (è del '68!


Per l'encoder in effetti non ci sono problemi, poiché ha una funzione che restituisce semplicemente 0, +1 o -1.
Mi piacerebbe molto usare i timer, ma ancora non mi ci sono dedicato...
>> Riguardo al funzionamento del programma, ho capito male, oppure ad ogni accesso al menù/interfaccia utente, la frequenza di ripetizione va a farsi benedire?
No. Solo all'accensione parte dal valore preimpostato. Dovrei salvare il valore corrente in EEPROM, ma verrebbe riscritto ad ogni variazione invecchiandola progressivamente. E' dichiarata per 100.000 riscritture, d'accordo, ma non mi piace riscriverla inutilmente ogni volta che viene cambiata la frequenza... Nel mio indicatore di limiti di velocità con GPS, invece, ho messo un mosfet che ritarda lo spegnimento: appena viene spento l'apparecchio tramite l'interruttore, prima di spegnersi effettivamente salva i parametri.
Quando accedi al menu cambi il valore di inc (incremento): in base a quello, i successivi +1 o -1 provenienti dall'encoder varranno x2/:2 o x10/:10 o +1/-1 o +10/-10 o ... o +100k/-100k.
Comunque credo che con i timer non si possa partire dall'idea di arrivare a fare un impulso di 10uS ogni secondo: bisogna fare un'onda quadra e poi derivarla con un piccolo condensatore, o forse ci si riesce con 2 timer...
>> Tanto di cappello per ciò che hai fatto, ma se tu avessi scritto il codice in maniera ortogonale e portabile, non avresti risposto così. Non usi un encoder? dov'è il problema? cambi le funzioni di I/O utente e le adatti ai pulsanti.
Nei miei limiti di tempo non ho problemi a darti la mia disponibilità per discutere di queste cose in maniera costruttiva.
Proprio i limiti di tempo sono il problema...
