- Messaggi: 63
- Ringraziamenti ricevuti 0
Routine di delay non applica il giusto ritardo.
11 Anni 5 Mesi fa - 11 Anni 5 Mesi fa #1
da velvettiere
Routine di delay non applica il giusto ritardo. è stato creato da velvettiere
Salve a tutti ragazzi,
come da titolo ho un grosso problema legato al tempo di delay della mia scheda. Infatti applicando questo codice avendo cura di impostare a HS la frequenza dell'oscillatore al quarzo (20 MHz)
OpenLCD (20);
ClearLCD();
BacklightLCD (TURN_ON_LED);
GotoLineLCD(1);
WriteStringLCD (" Sistema di Allarme ");
GotoLineLCD(2);
WriteStringLCD (" Temperatura + Gas ");
GotoLineLCD(3);
WriteStringLCD (" - - - ");
GotoLineLCD(4);
WriteStringLCD ("- - - - ");
delay_ms(3000);
ClearLCD ();
Praticamente l'ultimo delay da 3000 ms mi fa aspettare 15 secondi prima di andare avanti..
Cosa fare? Sto Impazzendo... Grazie a tutti.
come da titolo ho un grosso problema legato al tempo di delay della mia scheda. Infatti applicando questo codice avendo cura di impostare a HS la frequenza dell'oscillatore al quarzo (20 MHz)
OpenLCD (20);
ClearLCD();
BacklightLCD (TURN_ON_LED);
GotoLineLCD(1);
WriteStringLCD (" Sistema di Allarme ");
GotoLineLCD(2);
WriteStringLCD (" Temperatura + Gas ");
GotoLineLCD(3);
WriteStringLCD (" - - - ");
GotoLineLCD(4);
WriteStringLCD ("- - - - ");
delay_ms(3000);
ClearLCD ();
Praticamente l'ultimo delay da 3000 ms mi fa aspettare 15 secondi prima di andare avanti..
Cosa fare? Sto Impazzendo... Grazie a tutti.
Ultima Modifica 11 Anni 5 Mesi fa da velvettiere.
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 - 11 Anni 5 Mesi fa #2
da velvettiere
Risposta da velvettiere al topic Routine di delay non applica il giusto ritardo.
Ragazzi ho fatto un ciclo infinito con un led che blinca
while(1){
LATBbits.LATB0 = 1;
delay_ms (1000);
LATBbits.LATB0 = 0;
delay_ms (1000);
}
ed ho ottenuto questi tempi cronometrati con internet, bloccando il cronometro quando il led cambiava stato: lo avrebbe dovuto fare ogni secondo mentre invece lo fa ogni 4 secondi.
1--> 4.080
2--> 4.048
3--> 4.016
4--> 4.008
5--> 4.072
Sembra come se il mio pic va 4 volte più lento, dato che invece di passare 1 secondo ne passano 4... C'è una risposta a tutto ciò?
Spero di si, e soprattutto spero che sia anche banale..
Grazie di cuore a tutti voi.
while(1){
LATBbits.LATB0 = 1;
delay_ms (1000);
LATBbits.LATB0 = 0;
delay_ms (1000);
}
ed ho ottenuto questi tempi cronometrati con internet, bloccando il cronometro quando il led cambiava stato: lo avrebbe dovuto fare ogni secondo mentre invece lo fa ogni 4 secondi.
1--> 4.080
2--> 4.048
3--> 4.016
4--> 4.008
5--> 4.072
Sembra come se il mio pic va 4 volte più lento, dato che invece di passare 1 secondo ne passano 4... C'è una risposta a tutto ciò?
Spero di si, e soprattutto spero che sia anche banale..
Grazie di cuore a tutti voi.
Ultima Modifica 11 Anni 5 Mesi fa da velvettiere.
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 #3
da velvettiere
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Risposta da velvettiere al topic Routine di delay non applica il giusto ritardo.
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
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 #4
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.
strano..prova a semplificare il tutto e fai un nuovo progetto solo con il lampeggio del led (con un led fisico).
Per ritardi anche si 1secondo utilizza la funzione delay_s();
Non ti da nessun warning?
Le librerie dove le hai messe e come hai incluso i percorsi?
Che software e compilatore usi?
Ste
Per ritardi anche si 1secondo utilizza la funzione delay_s();
Non ti da nessun warning?
Le librerie dove le hai messe e come hai incluso i percorsi?
Che software e compilatore usi?
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 #5
da velvettiere
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Risposta da velvettiere al topic Routine di delay non applica il giusto ritardo.
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
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
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.
Login
© LaurTec 2006 - 2024