salve a tutti.
ho letto con interesse l'articolo sui PICmicro pubblicato da Paolino riguardo i registri di timer:
http://www.electroportal.net/paolino/wiki/picmicrotimer
vorrei sapere una cosa. se io invece di accendere un led ogni secondo, vorrei svolgere un altro tipo di programma sempre utilizzando un interrupt che avviene ogni secondo, dove dovrei inserirlo questo programma ?? dovrei forse inserirlo quando viene chiamato il sotto programma T0ISR ??
grazie in anticipo. ciao
consiglio interrupt
Moderatore: Paolino
3 messaggi
• Pagina 1 di 1
0
voti
Esattamente.
Quello che devi rispettare sono le operazioni di context switch (che salvano e ripristinano il conenuto dei registri) e la cancellazione del flag T0IF. Puoi utilizzare la stessa struttura che ho usato io e al posto del codice inserito nella routine T0ISR ci metterai quello che tu vorrai che faccia il PIC. L'esempio del lampeggio del LED è stato fatto proprio per poter dimostrare, in modo tangibile all'occhio umano, come il circuito lavora.
Attenzione: la simulazione mostra come, con un oscillatore da 4MHz e le impostazioni dei registri che ho scelto io (in modo arbitrario), il periodo di tempo misurato tra un lampeggio e il successivo è di poco superiore a 1s: il PIC "perde" qualche frazione di secondo ad ogni lampeggio del LED (circa 0.0001 s).
Ciao.
Paolo.
Quello che devi rispettare sono le operazioni di context switch (che salvano e ripristinano il conenuto dei registri) e la cancellazione del flag T0IF. Puoi utilizzare la stessa struttura che ho usato io e al posto del codice inserito nella routine T0ISR ci metterai quello che tu vorrai che faccia il PIC. L'esempio del lampeggio del LED è stato fatto proprio per poter dimostrare, in modo tangibile all'occhio umano, come il circuito lavora.
Attenzione: la simulazione mostra come, con un oscillatore da 4MHz e le impostazioni dei registri che ho scelto io (in modo arbitrario), il periodo di tempo misurato tra un lampeggio e il successivo è di poco superiore a 1s: il PIC "perde" qualche frazione di secondo ad ogni lampeggio del LED (circa 0.0001 s).
Ciao.
Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-
Paolino
32,6k 8 12 13 - G.Master EY
- Messaggi: 4225
- Iscritto il: 20 gen 2006, 11:42
- Località: Vigevano (PV)
3 messaggi
• Pagina 1 di 1
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 8 ospiti