Go Down

Topic: array, questo sconosciuto! (Read 504 times) previous topic - next topic

imho

Feb 23, 2013, 11:48 am Last Edit: Feb 23, 2013, 03:31 pm by leo72 Reason: 1
Hello,
vorrei accendere i pin di cicle1 simultaneamente, avete un idea?
Grazie
Code: [Select]

int cicle1 []= {1,5,9};
int Count = 3;

void setup () {
 for (int Pin = 0; Pin < Count; Pin++) {
   pinMode (cicle1 [Pin],OUTPUT);
 
}
}

void loop ()
{
 
 digitalWrite (cicle1, HIGH);  //errore: invalid conversion from int to unit8_t
 delay (1000);
 digitalWrite (cicle1, LOW);  //come faccio accendere tutti i pin di cicle1 simultaneamente?
 delay (1000);
 }

imho

Scusate, mi sono dimenticato il tag code


Code: [Select]



int cicle1 []= {1,5,9};
int Count = 3;

void setup () {
  for (int Pin = 0; Pin < Count; Pin++) {
    pinMode (cicle1 [Pin],OUTPUT);
 
}
}

void loop ()
{
 
  digitalWrite (cicle1, HIGH);  //errore: invalid conversion from int to unit8_t
  delay (1000);
  digitalWrite (cicle1, LOW);  //come faccio accendere tutti i pin di cicle1 simultaneamente?
  delay (1000);
  }



astrobeed


Code: [Select]

  digitalWrite (cicle1, HIGH);  //errore: invalid conversion from int to unit8_t
  delay (1000);
  digitalWrite (cicle1, LOW);  //come faccio accendere tutti i pin di cicle1 simultaneamente?
  delay (1000);



Non puoi passare un array a digitalWrite, consente di manipolare un solo pin per volta, non puoi nemmeno cambiare lo stato simultaneamente a più pin arbitrari se non si trovano sullo stessa porta.
In linea generale, è possibile scrivere/leggere fino a otto pin con una singola istruzione se questi si trovano sulla stessa porta del micro, in caso contrario è necessario accedere singolarmente a tutte le porte interessate.

mancio

Code: [Select]

for (int Pin = 0; Pin < Count; Pin++) digitalWrite(cicle1 [Pin],HIGH);
delay(1000);
for (int Pin = 0; Pin < Count; Pin++) digitalWrite(cicle1 [Pin],LOW);
delay(1000);


facendo una cosa del genere non ti accorgi nemmeno che si accendono uno dopo l'altro..tenendo conto che arduino lavora a 16MHz i led si accendono con un ritardo di qualche microsecondo..quindi quasi contemporaneamente

imho

grazie, con il vs aiuto ho risolto!

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy