Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 13 kwi 2026, o 07:04


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 20 maja 2015, o 21:55 
Offline
Nowy

Dołączył(a): 14 sie 2013
Posty: 17
Pomógł: 0

Witam
Mam problem z programem który zawiesza mi się co jakiś czas, nie mam pomysłu co może być nie tak. Sprzętowo raczej jest wszystko ok bo inny prostszy program chodzi bez zażutu testowany 2 dni a ten poniżej przedstawiony co jkąś godzine ew 2 sie zawiesza. Dodam że korzystam do obsługi wyświetlacza led z standardowej biblioteki umieszczonej w bluebooku wyk przerwania z (timera 1). w załączniku plik main. Prosze o sugestie co może być nie tak. Pozdrawiam.

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2015, o 09:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2012
Posty: 238
Pomógł: 5

Właśnie, program dość nie czytelny - ale każdy ma swój styl ...
Polecam takie rozwiązanie, otóż weź sobie podłącz do pozostałych pinów (jeśli takie są) ledy, następnie w każdej z procedurek funkcji zapalaj i gaś leda po wyjściu z niej. Wtedy zobaczysz chociaż której procedurce się zawiesza... albo zamiast ledów np wypluwać na uarta znak informujący jaka procedurka czy sekcja programu działa...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2015, o 10:34 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27453
Lokalizacja: Szczecin
Pomógł: 1045

MirekP napisał(a):
Mam problem z programem który zawiesza mi się co jakiś czas

Przyznam szczerze, że spróbowałem rzucić okiem, ale niestety ZAWIESZAM się za każdym razem czytając ten hektar kodu. Nie dziwię się więc, że procek się zawiesza ale i też sam autor co widać.

Język C daje OGROMNE możliwości podziału projektu na logiczne bloki funkcjonalne w postaci funkcji, które można jeszcze umieszczać w różnych plikach projektu. Proponuję zacząć jednak uczyć się właśnie tego - jeśli chodzi o C ... a nie pisać takiego (proszę się nie obrazić) "potworka" .... Już to że milion linii kodu to pal pies - ale właśnie te zagnieżdżenia do tego w ramach jednego pliku ? masakra ....

Tu jednak szczerze koledze polecam Bluebooka
http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

od tego warto zacząć - bo to co widać w załączniku w pierwszym poście to niestety tak jakby ktoś żywcem z Bascoma projekt przepisał :(

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2015, o 11:04 
Offline
Nowy

Dołączył(a): 14 sie 2013
Posty: 17
Pomógł: 0

Problem nie jest z menu bo jak zakomentuje obsługę menu to i tak sie zawiesi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2015, o 15:37 
Offline
Nowy

Dołączył(a): 14 sie 2013
Posty: 17
Pomógł: 0

Pytanie czy zmniejszać czy zwiększać preskaler aby odmierzyć sekundę która opcja poprawi stabilność działania?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2015, o 16:17 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 252
Lokalizacja: Lublin
Pomógł: 23

Przede wszystkim zastosuj polecany przez Mirka sposób na debugowanie programu - debuger jednodiodowy.
Ustalisz tym sposobem, gdzie program utyka zaoszczędzając multum czasu.
Jak będziesz wiedział, gdzie jest problem, rozwiążesz go sam, lub zadasz konkretne pytanie.
Kodu w takiej postaci i ilości raczej nikt nie zechce analizować, jak już wczesniej wspomniano.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2015, o 14:03 
Offline
Nowy

Dołączył(a): 14 sie 2013
Posty: 17
Pomógł: 0

Odkryłem ze za zawieszanie programu odpowiedzialna jest funkcja


Źle zamieszczony listing - Różowo-zielony J.

Moje pytanie czy dochodzi tu do przepełnienia stosu używam tu zmiennych typu static. Jak obejść problem by nadal mieć możliwość uśredniania pomiarów.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO