Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

variabile al posto di un numero per delay

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] variabile al posto di un numero per delay

Messaggioda Foto Utenteramboluis » 14 mag 2013, 16:55

mi servirebbe una piccola informazione:
mi trovo a sperimentare un attimino con i PIC e mi é venuto un dubbio, posso mettere al posto di un numero una variabile?
es:
facciamo che ho la variabile ''tempoled''
Codice: Seleziona tutto
while(1)
{

   
RB1 = 1;
__delay_ms(tempoled);
RB1 =0;
__delay_ms(tempoled);

}


e corretto scrivere cosi ?
naturalmente la variabile ''tempoled'' avrà un valore numerico
Avatar utente
Foto Utenteramboluis
80 1 7
Stabilizzato
Stabilizzato
 
Messaggi: 314
Iscritto il: 28 giu 2012, 18:39

0
voti

[2] Re: variabile al posto di un numero per delay

Messaggioda Foto Utenteposta10100 » 14 mag 2013, 17:01

Se utilizzi un compilatore C non vedo perché non dovrebbe accettare la variabile al posto del numero.
Ti da qualche errore?
http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.

Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)

Strumento per formule
Avatar utente
Foto Utenteposta10100
5.550 4 10 13
Master EY
Master EY
 
Messaggi: 4832
Iscritto il: 5 nov 2006, 0:09

0
voti

[3] Re: variabile al posto di un numero per delay

Messaggioda Foto Utenteramboluis » 14 mag 2013, 17:06

no ,non ho ancora provato . volevo solo saperlo, perche se non funzionava evitavo di montare sulla scheda 3 pulsanti per modificare il valore della variabile
era giusto per non ritrovarmi con tre tastini non utilizzati :mrgreen:
Avatar utente
Foto Utenteramboluis
80 1 7
Stabilizzato
Stabilizzato
 
Messaggi: 314
Iscritto il: 28 giu 2012, 18:39

0
voti

[4] Re: variabile al posto di un numero per delay

Messaggioda Foto UtenteTardoFreak » 14 mag 2013, 17:13

Eh si, sono problemi. -:-

:mrgreen:
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

1
voti

[5] Re: variabile al posto di un numero per delay

Messaggioda Foto Utentenand92 » 14 mag 2013, 17:20

nel caso non andasse puoi usare un semplice ciclo:
Codice: Seleziona tutto
void pausaVariabile(unsigned int ms)
{
    while (ms)
    {
        __delay_ms(1);
        ms -- ;
    }
}

void main()
{
    unsigned int tempoled = 10;

    // azioni ...
    pausaVariabile(tempoled);
    // altre azioni ...
    pausaVariabile(tempoled);
}

Avatar utente
Foto Utentenand92
55 1 2
 
Messaggi: 36
Iscritto il: 7 mag 2012, 18:10

1
voti

[6] Re: variabile al posto di un numero per delay

Messaggioda Foto UtenteAjKDAP » 14 mag 2013, 18:51

ovviamente dipende dal compilatore usato, ma generalmente i prototipi delle funzioni di delay vogliono un CONST ;-) quindi solo valori costanti.

per una possibile soluzione, quoto Foto Utentenand92 :ok:
'˙˙˙·٠•● Alberto ●•٠·˙˙˙'
________________________
http://www.ajk.altervista.org
Avatar utente
Foto UtenteAjKDAP
1.255 2 6 9
Expert EY
Expert EY
 
Messaggi: 796
Iscritto il: 17 mag 2006, 0:13
Località: nella coda dei pronti

0
voti

[7] Re: variabile al posto di un numero per delay

Messaggioda Foto Utentenand92 » 14 mag 2013, 20:04

grazie Foto UtenteAjKDAP!
una possibile scrittura più compatta:
Codice: Seleziona tutto
void pausaVariabile(unsigned int ms)
{
    while (ms --) __delay_ms(1);
}
Avatar utente
Foto Utentenand92
55 1 2
 
Messaggi: 36
Iscritto il: 7 mag 2012, 18:10

0
voti

[8] Re: variabile al posto di un numero per delay

Messaggioda Foto UtenteTardoFreak » 14 mag 2013, 21:58

Senza conoscere il compilatore usato è impossibile saperlo.
I compilatori MikroC e C18 (per i PIC) hanno entrambi una variabile come argomento nel prototipo, per esempio.
Quindi io non quoto nessuno ma aspetto di sapere quale compilatore, ma sopratutto quale libreria, sta utilizzando.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[9] Re: variabile al posto di un numero per delay

Messaggioda Foto Utentesimo85 » 14 mag 2013, 22:01

ramboluis ha scritto:posso mettere al posto di un numero una variabile?


Di che tipo è l'argomento della funzione?
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[10] Re: variabile al posto di un numero per delay

Messaggioda Foto Utenteramboluis » 14 mag 2013, 23:20

il compilatore che utilizzo e hi-tech c
simo85 ha scritto:
ramboluis ha scritto:posso mettere al posto di un numero una variabile?

Di che tipo è l'argomento della funzione?

sinceramente non so cosa risponderti perche non ho capito la domanda
Avatar utente
Foto Utenteramboluis
80 1 7
Stabilizzato
Stabilizzato
 
Messaggi: 314
Iscritto il: 28 giu 2012, 18:39

Prossimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti