- Messaggi: 1222
- Ringraziamenti ricevuti 104
Pilotare un servomotore con un potenziometro
10 Anni 10 Mesi fa #31
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic Pilotare un servomotore con un potenziometro
poi ero andato a vedere cosa ti avevo chiesto e sospettavo fosse questo il "problema".
Invece per quanto riguarda l'abilitazione dell'interrupt del timer1 e la sua priorità?
Grazie della pazienza.
Ste
si, avevo spulciato il file, però mi chiedo dove vada a prendere la funzione il compilatore, visto che non includiamo niente.Per quanto riguarda l'altra funzione, se guardi il file timers.h vedrai che all'interno della stessa non c'è nulla... una semplice dichiarazione di funzione.
Invece per quanto riguarda l'abilitazione dell'interrupt del timer1 e la sua priorità?
Grazie della pazienza.
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Moderator
Riduci
Di più
10 Anni 10 Mesi fa #32
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic Pilotare un servomotore con un potenziometro
tempo fa mi sono posto la stessa domanda: diciamo che in questo caso timer1 lavora come un timer per cui non necessita di priorità... ho ritrovato un appunto che avevo visto in rete e te lo allego:
La gestione interrupt del Timer1 richiede :
* l' abilitazione del bit TMR1IE (PIE1<1>), che va posto a 1 se si desidera attivare l' interrupt
* Il bit di selezione della priorità dell' interrupt è TMR1IP (IPIR1<1>). E' a 1 se si desidera l' alta priorità, altrimenti va a posto a 0. L' abilitazione del modo interrupt con priorità richiede di aver settato il bit IPEN (RCON<7>) ; altrimenti viene impiegato un sistema di interrupt senza livelli di priorità e l' impostazione di TMR1IP è indifferente.
* Il flag di identificazione è TMR1IF (PIR1<1>) che va a 1 a seguito all' overflow del counter e va cancellato da software.
L' interrupt di Timer1 fa riferimento al registro PIR1 e quindi è considerata una interruzione periferica e quindi sono dipendenti per l' abilitazione da PEIE.
Marcello
La gestione interrupt del Timer1 richiede :
* l' abilitazione del bit TMR1IE (PIE1<1>), che va posto a 1 se si desidera attivare l' interrupt
* Il bit di selezione della priorità dell' interrupt è TMR1IP (IPIR1<1>). E' a 1 se si desidera l' alta priorità, altrimenti va a posto a 0. L' abilitazione del modo interrupt con priorità richiede di aver settato il bit IPEN (RCON<7>) ; altrimenti viene impiegato un sistema di interrupt senza livelli di priorità e l' impostazione di TMR1IP è indifferente.
* Il flag di identificazione è TMR1IF (PIR1<1>) che va a 1 a seguito all' overflow del counter e va cancellato da software.
L' interrupt di Timer1 fa riferimento al registro PIR1 e quindi è considerata una interruzione periferica e quindi sono dipendenti per l' abilitazione da PEIE.
Marcello
Chi vola vale, chi vale vola, chi non vola è un vile
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Pinna
- Autore della discussione
- Moderator
Riduci
Di più
- Messaggi: 1010
- Ringraziamenti ricevuti 107
10 Anni 10 Mesi fa #33
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic Pilotare un servomotore con un potenziometro
quindi se IPEN = 0 l'interrupt delle periferiche come il timer1 sono abilitati automaticamente, inoltre IPEN di defaut è impostato a 0, giusto così?
Ste
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Moderator
Riduci
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
10 Anni 10 Mesi fa #34
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic Pilotare un servomotore con un potenziometro
penso anch'io che sia così... però se il buon Mauro ci desse un chiarimento riguardo questo dubbio non sarebbe male, anzi...
Marcello
Marcello
Chi vola vale, chi vale vola, chi non vola è un vile
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Pinna
- Autore della discussione
- Moderator
Riduci
Di più
- Messaggi: 1010
- Ringraziamenti ricevuti 107
10 Anni 10 Mesi fa #35
da mpeino
Risposta da mpeino al topic Pilotare un servomotore con un potenziometro
Questo non centra nulla con gli interrupt.
Forse sto dicendo una cavolata......
Se il joystick è al centro il servo è al centro perchè questo avvenga il segnale deve essere continuo se no il servo si muove.
Abbiamo utilizzato per questo 2 timer con un altro servo da pilotare servono altri 2 timer .....oppure utilizziamo un timer per il periodo di 20ms e gli altri per l'impulso 0.5ms-2.5ms un timer per ogni servo.
Massimo.
Forse sto dicendo una cavolata......
Se il joystick è al centro il servo è al centro perchè questo avvenga il segnale deve essere continuo se no il servo si muove.
Abbiamo utilizzato per questo 2 timer con un altro servo da pilotare servono altri 2 timer .....oppure utilizziamo un timer per il periodo di 20ms e gli altri per l'impulso 0.5ms-2.5ms un timer per ogni servo.
Massimo.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- mpeino
- Elite Member
Riduci
Di più
- Messaggi: 174
- Ringraziamenti ricevuti 2
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.