- Messaggi: 63
- Ringraziamenti ricevuti 0
Routine di delay non applica il giusto ritardo.
11 Anni 5 Mesi fa #6
da velvettiere
Risposta da velvettiere al topic Routine di delay non applica il giusto ritardo.
Ho cambiato il quarzo ma non è cambiato nulla, allora ho provato ad aggiungere questa config:
#pragma config FOSC = HS
#pragma config PLLDIV = 5
Teoricamente però andava fatto
#pragma config FOSC = HSPLL_HS
#pragma config PLLDIV = 5
Bhè....le stranezze mi perseguitano perchè nel primo modo oscilla a 1 secondo correttamente, nel secondo modo oscilla a 500 ms. roba da matti....
#pragma config FOSC = HS
#pragma config PLLDIV = 5
Teoricamente però andava fatto
#pragma config FOSC = HSPLL_HS
#pragma config PLLDIV = 5
Bhè....le stranezze mi perseguitano perchè nel primo modo oscilla a 1 secondo correttamente, nel secondo modo oscilla a 500 ms. roba da matti....
Si prega Accedi o Crea un account a partecipare alla conversazione.
- velvettiere
- Autore della discussione
- Senior Member
Riduci
Di più
11 Anni 5 Mesi fa #7
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic Routine di delay non applica il giusto ritardo.
prova a programmare il pic con uno degli esempi di Mauro, carica direttamente il file .hex. Poi prova a prendere un progetto di Mauro e compilarlo e programmarlo sul pic e vediamo se funziona correttamente.
PLLDIV non dovresti impostarlo.
Ste
PLLDIV non dovresti impostarlo.
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
11 Anni 5 Mesi fa #8
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Routine di delay non applica il giusto ritardo.
Ciao,
l'istruzione
#pragma config PLLDIV = 5
ha senso solo se usi il PLL, quindi impostando
#pragma config FOSC = HS
la divisione del PLL non ha effetto.
Quindi se scrivi
#pragma config FOSC = HS
#pragma config PLLDIV = 5
funziona?
E se togli #pragma config PLLDIV = 5
Con la seconda impostazione imposti il PLL che genera 98MHz diviso 2 hai un clock di 48 MHz.
Non ricordo le impostazioni di default dei registri di divisone, ma se sono 1, avendo 48MHz hai circa 500ms.
Quindi sembra che le cose tornino.
Saluti,
Mauro
l'istruzione
#pragma config PLLDIV = 5
ha senso solo se usi il PLL, quindi impostando
#pragma config FOSC = HS
la divisione del PLL non ha effetto.
Quindi se scrivi
#pragma config FOSC = HS
#pragma config PLLDIV = 5
funziona?
E se togli #pragma config PLLDIV = 5
Con la seconda impostazione imposti il PLL che genera 98MHz diviso 2 hai un clock di 48 MHz.
Non ricordo le impostazioni di default dei registri di divisone, ma se sono 1, avendo 48MHz hai circa 500ms.
Quindi sembra che le cose tornino.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
11 Anni 5 Mesi fa #9
da velvettiere
Risposta da velvettiere al topic Routine di delay non applica il giusto ritardo.
Ok... Grazie mille.
Ho risolto il problema impostando la funzione setQuartz(48); passando come parametro non 20 (frequenza del quarzo) bensì 48 cioè la frequenza a cui sta andando la CPU presentata all'uscita del multiplexer.
Questo pic 18f4550 è veramente un portento e va studiato fino in fondo.
Grazie per il vostro aiuto. Valerio.
Ho risolto il problema impostando la funzione setQuartz(48); passando come parametro non 20 (frequenza del quarzo) bensì 48 cioè la frequenza a cui sta andando la CPU presentata all'uscita del multiplexer.
Questo pic 18f4550 è veramente un portento e va studiato fino in fondo.
Grazie per il vostro aiuto. Valerio.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- velvettiere
- Autore della discussione
- Senior Member
Riduci
Di più
- Messaggi: 63
- Ringraziamenti ricevuti 0
11 Anni 5 Mesi fa #10
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Routine di delay non applica il giusto ritardo.
La frequenza da passaer alla routine e' infatti quella operativa della CPU, che puo' differire da quella del quarzo, visto la presenza del PLL, pre-scaler e post-scaler.
...ho scelto il PIC18F4550 per la Freedom II proprio perche' e' un buon compromesso di periferiche e applicazioni!
Saluti,
Mauro
...ho scelto il PIC18F4550 per la Freedom II proprio perche' e' un buon compromesso di periferiche e applicazioni!
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.