- Messaggi: 1222
- Ringraziamenti ricevuti 104
Pilotare un servomotore con un potenziometro
10 Anni 10 Mesi fa #56
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
bè, questo:
OpenTimer1(TIMER_INT_ON
nel programma di questo tread, non viene fatto.
Sto facendo delle prove, ma che si abiliti o meno a mano l'interrupt del timer1 funziona ugualmente, almeno sembra.
Ste
OpenTimer1(TIMER_INT_ON
nel programma di questo tread, non viene fatto.
Sto facendo delle prove, ma che si abiliti o meno a mano l'interrupt del timer1 funziona ugualmente, almeno sembra.
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 #57
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
Ulteriore prova, che io imposti così:
// Abilito le interruzioni del Timer1
PIE1bits.TMR1IE = 1;
// Abilito le interruzioni del Timer1 ad alta priorità
IPR1bits.TMR1IP = 1;
oppure così:
// Disabilito le interruzioni del Timer1
PIE1bits.TMR1IE = 0;
// Abilito le interruzioni del Timer1 a bassa priorità
IPR1bits.TMR1IP = 0;
e che metta interrupt con sola priorità alta o con priorità alta e bassa, il programma continua a funzionare.
E' chiaro che il timer1 funziona in modo diverso da quello che pensavo o c'è qualcosa nel programma che non ho capito.
Ste
// Abilito le interruzioni del Timer1
PIE1bits.TMR1IE = 1;
// Abilito le interruzioni del Timer1 ad alta priorità
IPR1bits.TMR1IP = 1;
oppure così:
// Disabilito le interruzioni del Timer1
PIE1bits.TMR1IE = 0;
// Abilito le interruzioni del Timer1 a bassa priorità
IPR1bits.TMR1IP = 0;
e che metta interrupt con sola priorità alta o con priorità alta e bassa, il programma continua a funzionare.
E' chiaro che il timer1 funziona in modo diverso da quello che pensavo o c'è qualcosa nel programma che non ho capito.
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 #58
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic Pilotare un servomotore con un potenziometro
secondo me, l'istruzione è questa:
// Abilito il Timer1
T1CONbits.TMR1ON = 1;
fai la prova di disinserire il timer1... vedrai che il servo non funziona.
Avessi avuto l'oscilloscopio avrei potuto controllare i due segnali...
Marcello
// Abilito il Timer1
T1CONbits.TMR1ON = 1;
fai la prova di disinserire il timer1... vedrai che il servo non funziona.
Avessi avuto l'oscilloscopio avrei potuto controllare i due segnali...
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 #59
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
quello dovrebbe essere il bit per farlo iniziare a contare e dovrebbe essere una cosa diversa dall'interrupt.
perché il timer0 lo imposti diversamente?
Ste
perché il timer0 lo imposti diversamente?
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 #60
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic Pilotare un servomotore con un potenziometro
timer0 lo impostato così per seguire gli esempi di Mauro. Mi spiego meglio, potevo includere il file "timers.h" e aprire i due timers come riportato nell'esempio di Samuel. Però in questo modo non avrei seguito le indicazioni descritte, riga per riga, nel tutorial del C18. Stessa cosa ho fatto poi con il timer1. Io ho capito cosa vuoi dire, nel caso del timer0 abilito le interruzioni, nel timer1 non lo faccio. Secondo me, vengono abilitate lo stesso, magari da qualche configuration bit di mplab. Oppure è mio errore, ma se funziona lo stesso non mi sorprende affatto, dato che con Mauro siamo rimasti sorpresi che, in un altro progetto, un'altra cosa funzionasse, con lo stesso compilatore, quando invece non l'avrebbe dovuto fare. In effetti, mi ricordo che quando ho provato ad utilizzare solo il timer1 ad alta priorità ho dovuto aggiungere delle istruzione, purtroppo non mi ritrovo il progetto altrimenti te lo avrei allegato per un confronto. Ma continuo a cercarlo, mi hai fatto incuriosire... ben vengano le domande e i dubbi, ci aiutano a capire ed imparare sempre di più...
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
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.