Tempo esecuzione ciclo if { }

11 Anni 2 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 {..}. :S

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
  • Avatar di fer_ver
  • Premium Member
  • Premium Member
Di più
11 Anni 2 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

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • fer_ver
  • Avatar di fer_ver
  • Premium Member
  • Premium Member
Di più
11 Anni 2 Mesi fa #3 da StefA
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).

..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
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
11 Anni 2 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

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • fer_ver
  • Avatar di fer_ver
  • Premium Member
  • Premium Member
Di più
11 Anni 2 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

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • fer_ver
  • Avatar di fer_ver
  • Premium Member
  • Premium Member
Di più
Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login