ATNEL tech-forum https://forum.atnel.pl/ |
|
Jak wyjść z pętli - Magic Led https://forum.atnel.pl/topic24396.html |
Strona 1 z 1 |
Autor: | RadekB86 [ 24 sty 2023, o 21:15 ] |
Tytuł: | Jak wyjść z pętli - Magic Led |
A więc robię sobie taki skromne oświetlenie do kuchni: I przerabiałem trochę kod z tego poradnika : https://youtu.be/_eNNJCBu3Vw?list=PLkcl ... a4IEikflr6 I mam taki problem otóż mam tam tzw. efekt intro czyli tęcza która przechodzi przez cały pasek mieniąc się całą paletą barw myślę że znawcy poradników mirka wiedzą o czym mówię Wymyśliłem sobie że po 4 naciśnięciu przycisku enkodera ta tęcza wyświetla się w pętli nieskończonej ale chciałbym aby jak tylko wcisnę przycisk enkodera to od razu wychodzi mi z tej pętli i tutaj mam problem bo muszę cały czas trzymać przycisk aż dojdę do "schowania" się tego paska czyli rozpoczęcia wyświetlania się od nowa a ja chcę aby od razu była reakcja na przycisk i wyjście z wyświetlania tej tęczy. |
Autor: | mirekk36 [ 25 sty 2023, o 12:09 ] |
Tytuł: | Re: Jak wyjść z pętli - Magic Led |
bo od początku źle do tego podchodzisz. Niby używasz timera programowego żeby pisać program w sposób nieblokujący a jednocześnie w tym timerze dajesz jakąś funkcję, która trwa bardzo długo i paskudnie blokuje program - czyli NICI z programu nieblokującego ... to działa w taki sposób, że nawet ten timer programowy mógłbyś pominąć i nic by się nie zmieniło w obecnym działaniu twojego programu. To wywołanie twojej długotrwającej funkcji to jest tak jakbyś w tym timerze wstawił jakiegoś paskudnego delaya 1000ms CAŁKOWICIE musisz zmienić myślenie - i to co masz w tej funkcji i pewnie w niej jakąś kocią pętlę i delaje - to wywalić pętlę i to co w niej się dzieje robić właśnie w tym timerze - i bez żadnych delajów ... bo zamiast nich to timer będzie robił ci te delaje |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |