ATNEL tech-forum https://forum.atnel.pl/ |
|
Problem z wymuszonym opuszczeniem pętli for https://forum.atnel.pl/topic21272-60.html |
Strona 3 z 3 |
Autor: | SylwekK [ 19 gru 2018, o 18:38 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
Wrzuć całość, bo takie sprawdzanie programu w kawałkach do niczego dobrego nie doprowadzi |
Autor: | oowan [ 20 gru 2018, o 10:09 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
SylwekK napisał(a): Wrzuć całość, bo takie sprawdzanie programu w kawałkach do niczego dobrego nie doprowadzi język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Spróbowałem przy inicjalizacji ustawić timer_key na wartość 10, ale nic to nie dało. |
Autor: | SylwekK [ 20 gru 2018, o 11:51 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
Taaaak... Może najpierw trochę porządków, bo są pewne nieścisłości. Proszę wyjaśnij to i wskaż jakiś wspólny mianownik: |
Autor: | oowan [ 20 gru 2018, o 13:49 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
SylwekK napisał(a): Może najpierw trochę porządków, bo są pewne nieścisłości. Taaak, nie wiem jak ten PIND się tam znalazł? Po zmianie na PINB jest OK! Dzięki!Teraz należy taką sekwencję wstawić w badanie kolejnych wejść. Myślę, że byłoby bardziej przejrzyście i elegancko, gdyby to ująć w funkcję. Muszę zajrzeć do BB, bo funkcja będzie mieć kilka argumentów dziobak7 napisał(a): Cztery poziomy zagnieżdżenia. Ja naprawdę jestem początkujący, zasugeruj coś może w celu uproszczenia kodu, tworzonego w pocie czoła - tworzę jak potrafię. Jak widać nie ma się czym chwalić Po przemyśleniach, wykrystalizowała się taka funkcja język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Wynika mi z tego, że każdy przycisk musi mieć osobny timer programowy dekrementowany w przerwaniu, bo chyba nie da się tego obsłużyć jednym timerem? |
Autor: | SylwekK [ 21 gru 2018, o 23:33 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
oowan napisał(a): Wynika mi z tego, że każdy przycisk musi mieć osobny timer programowy dekrementowany w przerwaniu, bo chyba nie da się tego obsłużyć jednym timerem? Jeśli będzie to robione sposobem, który podałem to TAK, ale zawsze można inaczej to zrobić i o ile przyciski nie są wciskane równocześnie to można by z jednego timera korzystać. |
Autor: | oowan [ 24 gru 2018, o 13:43 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
W efekcie wyszły dwie funkcje: język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Nie wiem, czy znowu nie przekombinowałem, ale działa, przynajmniej to, co mam fizycznie podłączone do testów. Życzę wszystkim WESOŁYCH ŚWIĄT!!! |
Autor: | oowan [ 28 gru 2018, o 13:34 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
Program powoli się rozrasta - dołożyłem wyłącznik czasowy do sterowania lampą przed garażem. Jest to kolejny timer programowy (tym razem uint16_t) odliczany co sekundę w przerwaniu. język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wszystko działa prawidłowo, tylko że odliczana sekunda ma tak na oko 1,6s. Co może być przyczyną? |
Autor: | Daro69 [ 28 gru 2018, o 17:35 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
witam, oowan napisał(a): , tylko że odliczana sekunda ma tak na oko 1,6s. Co może być przyczyną? jeżeli przedstawisz ciało funkcji 'timer_init();', to może coś da się wywnioskować/wyliczyć. Przejrzałem wątek i nie zauważyłem jak jest ustawiony timer. |
Autor: | oowan [ 28 gru 2018, o 20:37 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
oowan napisał(a): jeżeli przedstawisz ciało funkcji 'timer_init();', to może coś da się wywnioskować/wyliczyć. język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Spróbowałem ten fragment język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Dioda migała, ale bardzo nieregularnie. Czasem kilka krótkich błysków, czasem dłuższe przerwy lub dłoższe świecenie. |
Autor: | SylwekK [ 28 gru 2018, o 20:55 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
Jeśli w pętli głównej używasz do timera 16-bitowej zmiennej, która jest odliczania w przerwaniach to ZAWSZE będzie problem z regularnym odliczaniem chyba, że... podczas tego odświeżania zostaną wyłączone przerwania (poczytaj atomic blok). |
Autor: | oowan [ 12 sty 2019, o 08:10 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
SylwekK napisał(a): Jeśli w pętli głównej używasz do timera 16-bitowej zmiennej, która jest odliczania w przerwaniach to ZAWSZE będzie problem z regularnym odliczaniem chyba, że... podczas tego odświeżania zostaną wyłączone przerwania (poczytaj atomic blok). Poszedłem w innym kierunku - uruchomiłem drugi timer sprzętowy na 10Hz, do obsługi migania i odmierzania czasu świecenia lampy. To chyba prostsze rowiązanie? Chyba, że do odmierzania minut dla lampy dam osobny timer, 16-bitowy Jakby nie było, tiny2313 ma dwa dwukanałowe timery
|
Autor: | SylwekK [ 12 sty 2019, o 12:12 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
Można i tak, ale wystarczy dodatkowy timer programowy z dzielnikiem przez, np. 100 dodać. |
Autor: | oowan [ 21 sty 2019, o 14:19 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
Praktycznie ukończyłem program. Jest wszystko co chciałem osiągnąć. Pewnie potrzebne będą jakieś korekty przy uruchamianiu sterownika - z tym poczekam do wiosny, nie chcę marznąć teraz w garażu język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wielkie dzięki za pomoc |
Autor: | SylwekK [ 21 sty 2019, o 16:09 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
Najważniejsze żeby wszystko już na stole działało w 100% zgodnie z założeniami wtedy po zainstalowaniu na bramie będzie łatwiej uruchamiać |
Autor: | oowan [ 21 sty 2019, o 21:17 ] |
Tytuł: | Re: Problem z wymuszonym opuszczeniem pętli for |
SylwekK napisał(a): Najważniejsze żeby wszystko już na stole działało w 100% zgodnie z założeniami wtedy po zainstalowaniu na bramie będzie łatwiej uruchamiać Sam ATtiny działa w 100%, ale sterownik będzie zawierał jeszcze dwa komparatory na LM393 - jeden do czujnika zmierzchowego, drugi do zabezp. przeciążeniowego, współpracujący z modułem pomiaru prądu na ukłdzie ACS712. I tu mogą zdarzyć się niespodzianki, a niespodzianki mnie lubią, bez wzajemności Może też się okazać konieczne zamienić miejscami jakieś piny, żeby uprościć ścieżki na płytce. Na razie dopracowuję schemat na papierze. Muszę to przespać, kilka razy przemyśleć, może nasunie się jakiś nowy pomysł. Został mi jeden wolny pin w mikrokontrolerze, więc kto wie? Gdy to dopracuję, na pewno umieszczę całą konstrukcję w dziale DIY. |
Strona 3 z 3 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |