ATNEL tech-forum https://forum.atnel.pl/ |
|
kłopot z flagą w przerwaniu https://forum.atnel.pl/topic22245.html |
Strona 1 z 1 |
Autor: | wojciechgorzolka [ 9 maja 2019, o 20:23 ] |
Tytuł: | kłopot z flagą w przerwaniu |
hej. dawno mnie tu nie było. Ale to dlatego,że zająłem się własną edukacją i niestety nie miałem czasu na programowanie uC. Postanowiłem znów zasiąść do zestawy ATB i jest klops. Przerabiam dla ćwiczeń multipleksowanie z poradnika Pawła Kardasia na YT. I mam kłopot z kodem w pętli głównej. Samo multipleksowanie działa mi super. Napisałem dodatkowo kod, który zlicza godziny i minuty. Jeśli w pętli głównej motorkiem napędzającym, a raczej zwalniającym będzie poczciwy delaj, to cyferki pięknie zliczają czas na wyświetlaczu siedmio segmentowym. Kłopot mam jeśli zamiast delaja chcę wrzucić zliczanie z przerwania. Coś źle robię i nie mogę dojść do tego, gdzie robię błąd. Wrzucam kod z delajem w pętli głównej, oraz z flagą z przerwania. Proszę o podpowiedź. język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
A tytaj koz bez delaja: język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
oraz obsługa przerwania: język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i kod z deklaracją zmiennej tykanie: język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
A tutaj błąd z konsoli z błędami: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Ewidentnie jest coś nie tak ze zmienną tykanie. Niestety nie wiem w czym rzecz. edytuję post. Już mi się coś rozjaśniło po rozmowie z Darkiem. CHyba to ogarnę |
Autor: | jez2000 [ 10 maja 2019, o 05:24 ] |
Tytuł: | Re: kłopot z flagą w przerwaniu |
A czemu ty dajsz to extern?? Masz w innym pliku zdefiniowaną zmienną tykanie?? Poza tym ten warunek język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Już lepiej było by może język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Wtedy warunek wykona się jak tykanie==0 ale pozostaje jeszcze jeden problem, że pętla znów wykona się wiele razy gdy tykanie == 0 bo zmieni się dopiero przy kolejnym tyknięciu timera ( od tyknięcia do tyknięcie pętla główna wykona się wiele razy) A najprosciej chyba bylo by gdyby w przerwaniu zwiejszac te zmienne licznik1 licznik2... a petla glowna niech sobie śmiga bez żadnego delay |
Autor: | wojciechgorzolka [ 10 maja 2019, o 11:37 ] |
Tytuł: | Re: kłopot z flagą w przerwaniu |
tak, tykanie jest w innym pliku, dlatego jest extern. Wczoraj myślałem intensywnie i będę przerabiał kod. Mam już koncepcję, zobaczę co mi z tego wyjdzie Ale dziękuję za podpowiedzi |
Autor: | jez2000 [ 10 maja 2019, o 11:46 ] |
Tytuł: | Re: kłopot z flagą w przerwaniu |
Czy oprócz język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Masz gdzies też język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Bo nigdzie nie widac |
Autor: | Zealota [ 10 maja 2019, o 13:06 ] |
Tytuł: | Re: kłopot z flagą w przerwaniu |
wojciechgorzolka napisał(a): tak, tykanie jest w innym pliku, dlatego jest extern. To oznacza, że ten plik, gdzie masz definicję zmiennej, nie jest kompilowany. bo dalej masz: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. a zapis: #ifndef MULTIPLEKS_MULTIPLEKS_H_ sugeruje, że plik ma końcówkę "multipleks.h" a ty inkludujesz "multipl.h" zatem masz duże pomieszanie z poplątaniem. Powyższy, mylący zapis z #ifndef może powodować, że preprocesor pomija niektóre wpisy, pomimo, że nie widać "wyszarzeń" w IDE. Chyba, że piszesz w innym edytorze dobrze byłoby go wskazać, a tak na slepo trochę. Na próbę zdefiniuj w pliku main.c "volatile uint8_t tykanie", powinieneś dostać inne błędy, ale może kompilacja przejdzie. Jeśli przejdzie to i tak to nie rozwiąże problemu, ale znaczy się, że bałagan w projekcie jest znacznie większy niż przypuszczam |
Autor: | wojciechgorzolka [ 10 maja 2019, o 15:58 ] |
Tytuł: | Re: kłopot z flagą w przerwaniu |
dzięki |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |