Skocz do zawartości

Wielozadaniowość nie działa


woskod

Pomocna odpowiedź

Witam

Od kilku dni bawię się arduino. Chciałem napisać program odpowiadający za sterowanie diodą i silnikiem a wielowątkowość zastąpić timerem. Niestety nie działa. Czy ktoś mógłby mi wytłumaczyć co robię źle?

#include <Timers.h> //implementacja biblioteki
Timers <2> watek;   

void migaj() {    //funkcja diody
  digitalWrite(2, HIGH);

  
  
}

void silniki() {       //funkcja silnika
  digitalWrite(3, HIGH);
  digitalWrite(4, LOW);
  
}



void setup() {
  pinMode(2, OUTPUT);  //definicje pinów
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  watek.attach(0, 2000, migaj);   //wątki
  watek.attach(1, 5000, silniki);
  
 

}

void loop() {
  
}

 

Edytowano przez woskod
Link do komentarza
Share on other sites

@woskod witam na forum 🙂 Mógłbyś podać trochę więcej szczegółów? Co to znaczy, że nie działa? Jakich efektów się spodziewałeś, a co wyszło w praktyce? Masz tutaj funkcję migaj, która składa się z tego, że włącza diodę. Do migania przydałoby się, aby kiedyś była ona gaszona. Analogicznie jest pewnie z silnikiem. To cały program?

Link do komentarza
Share on other sites

Pisząc że nie działa miałem na myśli że arduino wcale nie reaguje. Nic się nie działo. Po ponownym przeczytaniu poradnika z którego korzystałem okazało się że w void loop zapomniałem napisać wątek.process() 

  • Lubię! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.