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: 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/ |