Wpis z mikrobloga

Mircy z #arduino (tak wiem ze mecze) ale wrocilem ostatnio do zabawy chcac porzerzyc horyzonty i poleglem :P
Pierwszy raz chce uzyc funkcji ktora cos mi "wypluje" zeby potem uzywac tego w innej funkcji. (cos jak obejscie tego ze zmiennej lokalnej nie da sie uzywac w innej funkcji)
Mam picrel.
Podam moj tok rozumowania a ktos mi moze powie gdzie mam w nim blad bo nie ogarniam tematu/

1-w setup zadeklarowalem zmienna oczka i przypisalem jej 1 (zrobilem to tylko po to zeby kazda funkcja wiedziala ze jest zmienna o tej nazwie).

2-w loop:
2.1 jesli guik nacisniety to wykonaj mruganie (funkcja powodujaca zalacanie i wylaczanie wyjsc)
2.2 przypisz zmiennej a 1, a zmiennej b 7.
2.3 wykonaj funkcje losowanie
2.4 jesli przycisk nie jest wcisniety wyrzuc na serialmonitora wartosc "oczka"

3 funkcja losowanie (to ta funkcja z ktorej chce dostac wartosc z przedzialu 1-6 i uzywac tej wartosci w innej funkcji)
3.1 wez parametry a i b (wczesniej zdefiniowane jako odpowiednio 1 i 7)
3.2 przypisz zmiennej oczka wartosc randoma z przedzialu a b
3.3 zwroc wartosc zmiennej oczka

I to nie dziala (na dole ekranu pluje sie ze oczka nie zostaly wczesniej zadeklarowane....)

Zalozenie jest takie ze jak trzymam guzik to mrygaja se diody a jak puszcze to sie ustali jakis stan i bedzie taki dopoki znow nie nacisne (bo bedzie spelniony drugi if czyli stan LOW. Czyli nie beda mrugac bo pierwszy nie bedzie spelniony, czyli randomowa wartosc zmiennej oczka sie nie zmieni bo sie nie wykona kolejny random.

Co tu jest nie tak?
gorzki99 - Mircy z #arduino (tak wiem ze mecze) ale wrocilem ostatnio do zabawy chcac...

źródło: comment_1621611267PHmBLnynybHHEUGcMSC2JD.jpg

Pobierz
  • 79
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Wierzę. Po prostu nie lubię powtarzać rzeczy oczywistych.


@Portier-Harry_Portier: Ja tez nie-ale jeszcze bardziej nie lubie jak cos niby ma dzialac a nie dziala :/
wywoluje 2 funkcje w loop. Jedna sie wykonuje a druga jest zlewana.
Dzieki ostatnich konsultacjach guzik dziala jak ma i juz jest podpiety :P
Nerwi mnie to ze wywoluje je tak samo a jedna jest wykonywana a druga nie. Ale kompilator bledu
  • Odpowiedz
Jedna sie wykonuje a druga jest zlewana.


@gorzki99: Nie wiem czemu nie działa, pokaż obecny kod loop.

Jest roznica czy zdefiniuje funkcje ktora chce wywolac "przed" loop czy "po"? Zawsze mi sie wydawalo ze nie ma roznicy. Najpierw moze byc loop a to co w nim i tak moze byc zdefiniowane
  • Odpowiedz