ATNEL tech-forum
https://forum.atnel.pl/

Przerywanie pętli
https://forum.atnel.pl/topic21772.html
Strona 1 z 1

Autor:  mako067 [ 26 gru 2018, o 14:23 ]
Tytuł:  Przerywanie pętli

Witam wszystkich bardzo serdecznie!

Piszę w sprawie programu do "sterownika" magic ledów, ws2812.

A więc tak, napisałem sobie program, który wyrzuca na ledy poszczególne efekty. Narazie jest to tylko możliwe poprzez wcześniejsze ustalenie kolejności wyrzucania efektów w programie. Chciałbym to zmienić, aby móc osobiście zmieniać efekty po naciśnięciu jednego przycisku. Wpadłem na pomysł, że użyję instrukcji switch, po naciśnięciu przycisku zmieni się zmienna , która przełączy efekt.

Niestety, moja niewiedza czy nieuwaga spowodowała, że nie działa to tak, jak sobie wymyśliłem. Podczas naciśnięcia przycisku zmienna się oczywiście dodaje, lecz nie przełącza się program z wiadomej przyczyny. Przełączy się dopiero po przejsciu efektu i sprawdzeniu ponownie instrukcji switch.

W programie używam _delay_ms, ale mam to zrobione tak, że wywołuję funkcję, która zawiera w sobie tylko jeden _delay_ms, który jest powtarzany tyle razy, jaki jest argument tejże funkcji.

Czy byłby ktoś tak dobry i powiedział mi, jak przerwać efekt i jednocześnie przenieść się na następny? Zrobić to instrukcją switch, czy może czymś innym?

Moja funkcja main prezentuje się następująco:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



jak widać, w mk_delay jest wsadzone sprawdzenie przycisków. Według mojego zamysłu, podczas wcisniecia przycisku nastepuje calkowite przerwanie efektu i wywolanie nastepnego efektu. Efektow jest oczywiscie wiecej niz 2, wiec narazie to tylko prototyp, ktory zostanie dopracowany.

Autor:  mako067 [ 27 gru 2018, o 00:01 ]
Tytuł:  Re: Przerywanie pętli

ale dobrze rozumiem, że efekt zostanie zmieniony dopiero po przejściu przez cały efekt? Tzn. efekt zmieniony zostanie po zakończeniu trwania danego efektu?

Autor:  mako067 [ 1 sty 2019, o 14:52 ]
Tytuł:  Re: Przerywanie pętli

Czy byłby to dla Ciebie problem, gdybyś to trochę "szerzej" opisał?

Niestety nie czuję jakoś tego rozwiązania. Będę dozgodnnie wdzięczny.

Autor:  mako067 [ 2 sty 2019, o 15:05 ]
Tytuł:  Re: Przerywanie pętli

Dzięki chłopaki, już mam jakiś większy pogląd na tę sprawę i wiem, że muszę zmienić mój program.

Zabiorę się jeszcze raz do tego przy pomocy linków jak i BB.

Jeszcze raz dziękuje.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/