Visualizza messaggio singolo
Vecchio 01 dicembre 10, 17:32   #107 (permalink)  Top
illez
User
 
L'avatar di illez
 
Data registr.: 06-08-2007
Residenza: Empoli
Messaggi: 1.813
Citazione:
Originalmente inviato da elicottero78 Visualizza messaggio
scusami , if tempo =0 l ho scritto velocemente come testo non come lo scrivo nel programma

penso di aver capito che fin quando non finisce

if(tempo > 80) { portb=160; delay_ms(500); portb=32; delay_ms(500); portb=128; delay_ms(500); portb=32; delay_ms(500); }else{ portb=0; }
i 2 led lampeggieranno sempre fino alla fine del ciclo.....allora provo a spararne una grossa cavolata........

ma se io invece di scrivere

while(1)

scrivessi

while(tempo > 80)
non risolverei questo problema ?

scusami se ho detto una cavolata

Codice:
portb=160; 
   delay_ms(500);    
portb=32;    
delay_ms(500); 
    portb=128; 
   delay_ms(500);    
portb=32;    
delay_ms(500);
Queste istruzioni impiegano circa 2 secondi per essere eseguite.
Vedi qualcosa tra un'istruzione e l'altra che ne possa interrompere l'esecuzione una dopo l'altra???
(la risposta è, ovviamente, no)
Il problema non è il while, ma il fatto che queste istruzioni non possono essere interrotte...
__________________
.......
illez non è collegato   Rispondi citando