- Messaggi: 105
- Ringraziamenti ricevuti 12
Tempo esecuzione ciclo if { }
11 Anni 9 Mesi fa #1
da fer_ver
Tempo esecuzione ciclo if { } è stato creato da fer_ver
Salve a tutti, se è possibile, e senza fretta sarei curioso di sapere quanti cicli macchina occorrono per eseguire un ciclo if {..}.
if (VariabileOld==VariabileAttuale){
Conteggio ++;
}
Ovvero, lavorando a 8Mhz con un PIC18 ogni quanto tempo viene incrementata la variabile Conteggio ?
Grazie
Renato
if (VariabileOld==VariabileAttuale){
Conteggio ++;
}
Ovvero, lavorando a 8Mhz con un PIC18 ogni quanto tempo viene incrementata la variabile Conteggio ?
Grazie
Renato
Si prega Accedi o Crea un account a partecipare alla conversazione.
- fer_ver
- Autore della discussione
- Premium Member
Riduci
Di più
11 Anni 9 Mesi fa #2
da fer_ver
Risposta da fer_ver al topic Tempo esecuzione ciclo if { }
Scusate, la domanda era un po più complessa.. ho dimenticato il while
Conteggio = 0;
while (Conteggio < 1000){
if (VariabileOld==VariabileAttuale){
Conteggio ++;
}else{
.......;
}
}
La domanda è uguale a prima: ogni quanto tempo viene incrementata la variabile Conteggio ?
Grazie Renato
Conteggio = 0;
while (Conteggio < 1000){
if (VariabileOld==VariabileAttuale){
Conteggio ++;
}else{
.......;
}
}
La domanda è uguale a prima: ogni quanto tempo viene incrementata la variabile Conteggio ?
Grazie Renato
Si prega Accedi o Crea un account a partecipare alla conversazione.
- fer_ver
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 105
- Ringraziamenti ricevuti 12
11 Anni 9 Mesi fa #3
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic Tempo esecuzione ciclo if { }
in mplab ide menù view->disassembly listing puoi vedere le istruzioni in assembler del codice che scrivi e già lì sapendo ogni istruzione di quanti cicli macchina ha bisogno puoi farti il conto.
C'è però un'ulteriore funzione, molto comoda nel tuo caso, menù debugger->stopWatch ti posizioni col cursore dove vuoi, azzeri o sincronizzi a piacere, utilizzi i brakpoint o procedi istruzioneper istruzione, insomma come preferisci e lui ti dice i cicli macchina e il tempo trascorso.
Ste
P.S. stopWatch ti conta le Instruction Cycles e per ognuna di esse mi sembra che servano 4 cicli di clock, infatti il tempo di una con un quarzo a 20MHz è di 20microsecondi..che sono 4 volte un clock
P.P.S. in debugger->settings->Osc/Trace imposti la tua frequenza di clock (che poi dovrebbe essere anche quella utilizzata con il simulatore).
C'è però un'ulteriore funzione, molto comoda nel tuo caso, menù debugger->stopWatch ti posizioni col cursore dove vuoi, azzeri o sincronizzi a piacere, utilizzi i brakpoint o procedi istruzioneper istruzione, insomma come preferisci e lui ti dice i cicli macchina e il tempo trascorso.
Ste
P.S. stopWatch ti conta le Instruction Cycles e per ognuna di esse mi sembra che servano 4 cicli di clock, infatti il tempo di una con un quarzo a 20MHz è di 20microsecondi..che sono 4 volte un clock
P.P.S. in debugger->settings->Osc/Trace imposti la tua frequenza di clock (che poi dovrebbe essere anche quella utilizzata con il simulatore).
..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 9 Mesi fa #4
da fer_ver
Risposta da fer_ver al topic Tempo esecuzione ciclo if { }
Grazie mille per la spiegazione, ...farò delle prove!
Ciao
Renato
Ciao
Renato
Si prega Accedi o Crea un account a partecipare alla conversazione.
- fer_ver
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 105
- Ringraziamenti ricevuti 12
11 Anni 9 Mesi fa #5
da fer_ver
Risposta da fer_ver al topic Tempo esecuzione ciclo if { }
Ok, ho risolto il mio quesito.
Aggiungerei solo alla tua risposta che, se ho ben capito, per attivare lo stopWacht occorre avviare la simulazione software tramite Debugger → Select Tool → MPLAB SIM
Ciao
Renato
Aggiungerei solo alla tua risposta che, se ho ben capito, per attivare lo stopWacht occorre avviare la simulazione software tramite Debugger → Select Tool → MPLAB SIM
Ciao
Renato
Si prega Accedi o Crea un account a partecipare alla conversazione.
- fer_ver
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 105
- Ringraziamenti ricevuti 12
Moderatori: Mauro Laurenti, StefA
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.