- Messaggi: 1010
- Ringraziamenti ricevuti 107
Pilotare un servomotore con un potenziometro
ho disabilitato il Timer1 (T1CONbits.TMR1ON = 0;) e ti confermo che il mio servo NON SI MUOVE!!! Se tu riesci a pilotarlo ugualmente anche disabilitando il timer1 allora c'è qualcosa di diverso tra i nostri compilatori... se fosse così sarebbe un bel problema!
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
// 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;
il programma funziona ugualmente...
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
- Messaggi: 1010
- Ringraziamenti ricevuti 107
Aspetta, facciamo chiarezza. Ovviamente se disabilito il timer non funziona.Ciao Ste, ho appena terminato di fare una prova sul firmware del servo pilotato con potenziometro...
ho disabilitato il Timer1 (T1CONbits.TMR1ON = 0;) e ti confermo che il mio servo NON SI MUOVE!!! Se tu riesci a pilotarlo ugualmente anche disabilitando il timer1 allora c'è qualcosa di diverso tra i nostri compilatori... se fosse così sarebbe un bel problema!
Io però intendo altro.. quella funzione dice al timer inizia a "contare", cosa ben diversa è l'abilitazione dell'interrupt che gli dice, quando hai finito do cpntare avvertimi.
Nel programma all'inizio di questo tread, l'interrupt del timer1 non viene abilitato e inoltre l'unica istruzione che abilita l'interrupt globale ad una priorità è questa.
INTCONbits.GIEH = 1;
e in queste condizioni non dovrebbe funzionare, infatti se fai qualche prova con il programma di questo post, puoi facilmente vedere che se imposti tutto come qui non funziona.
L'idea che mi sono fatto è che per qualche motivo in questo programma scatta l'interrupt e vedendo il flag del timer1 attivo il tutto funziona.
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
- Messaggi: 1222
- Ringraziamenti ricevuti 104
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
- Messaggi: 1010
- Ringraziamenti ricevuti 107
Riguardo i servi, ne avevo due (piccoli e di scarsa qualità) ma uno mi si è rotto qualche giorno fa.
Però forse posso fare qualche prova e se trovassi il tempo verificare con l'oscilloscopio..
Puoi farti dare il mio indirizzo e-mail da Mauro, così puoi mandarmi il progetto e possiamo parlare senza intasare il forum, poi qui postiamo le cose utili senza "chiacchiere".
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
- Messaggi: 1222
- Ringraziamenti ricevuti 104
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.