non ho capito l'approccio che suggerisci: è solo una questione di entità dello scheduling (10 ms ti sembrano troppi?) o suggerisci proprio un diverso approccio?
obiuan ha scritto: L'approccio comune è mettere l'antirimbalzo nella ISR associata all'interrupt del pulsante stesso (metodo + e - suggerito da lelerelele)
Mi serve comunque una base dei tempi fornita da un timer o da un ISR?
Mi sembra che l'approccio al quale era arrivato
- ISR che rileva fronti di salita e discesa (discriminandoli) del pulsante.
- Variabile incrementale nella ISR di un timer (nel suo caso 10 ms ma si potrebbe correggere il tiro abbassando la base dei tempi) che mi permette di contare il tempo fra i fronti rilevati.
In questo modo può (eventualmente su base empirica facendo qualche prova col suo tasto) decidere di tener buona una pressione se si è scatenato un evento di fronte di salita e per un certo tempo il valore è rimasto alto senza che occorressero altri fronti.
In ogni caso mi sembra che con questo approccio avesse tutti gli elementi per stabilire un criterio di rilevazione di una reale pressione senza alcuna interruzione del flusso principale.
Al contrario nell'approccio proposto da
lelerelele ha scritto:Non è necessario, implementi una routine che deve essere ritardata, la richiami dal main (o chi per esso),
una volta ogni N passaggi, hai gia implementato un ritardo senza per questo interrompere lo scorrimento del programma principale.
in più occasioni l'ho realizzato caricando una variabile in + ogni volta che il contatto è alto, in - quando leggo il contatto in basso, determinando se è sopra o sotto sai se è premuto oppure no, devi solo impostare i limiti del conteggio, diciamo +-100..
saluti.
Sbaglio o in questo caso se cambia il tempo di esecuzione del main (per esempio perché ho la necessità di aggiungere del codice che gestisce una nuova periferica) cambia anche l'entità del filtro antirimbalzo? Mi sembra che questo sia poco auspicabile.
Se mi sfugge qualcosa mi scuso
Buona giornata!

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
)






