Arduino Polska Forum
Dzien dobry - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Start (https://forum.arduinopolska.pl/dzial-start)
+--- Dział: Przywitanie (https://forum.arduinopolska.pl/dzial-przywitanie)
+--- Wątek: Dzien dobry (/watek-dzien-dobry--3944)



Dzien dobry - Mi010101 - 01-02-2021

Pozwolilem sobie zaistniec tu by poszukac odpowiedzi na problem , ktory co jakis czas obserwuje i chcialbym wreszcie zrozumiec rozwiazac.
Dlaczego arduino? bo ogarniam narzedzie, ktore jest skonfigurowane do pracy z malym prockiem.
Choc brakuje mi mozliwosci debugowania procesorka przy uruchamianiu.

Mam srednie doswiadczenie z procesorami - wczesniej pare zajec na studiach jakies OMG 30 lat temu, a teraz jak dorosle dzieci odlecialy z gniazda Smile  , hobbystycznie zacząłem sie tym zajmowac.
Klece - to dobre okreslenie - programy w arduino  do realizacji prostych funkcjonalnosci w domu. Nie mam wyksztalcenia informatycznego wiec wszystko trwa dlugo i wiedze zdobywam walka lub spacerowaniem przez pole minowe. Staram sie zrozumiec, co jest zrobione w bibliotekach, ktore trzeba dolaczyc aby uruchomic jakis czujnik czy wyswietlacz.

Dzida na ktora sie czasem nadziewam  jest nastepujaca
klon arduino nano lulb klon uno na procesorze ATmega328p 
Gdy program skompilowany ( bez warningow i bledow)  zajmuje wiecej niz 60% pamieci programu i ok 60 % pamieci dynamicznej  to procesor sie resetuje po ok 2sek albo "idzie w maliny" i to jeszcze w ramach setup{}.
Jesli zakomentuje dowolny fragment programu w petli loop {} ( wiele prob z roznymi czesciami programu ) tak ze w wyniku kompilacji zajetosc zasobow jest <60%  to dziala jak planowalem.
Jesli caly program podzielilem na bloki ( obsluga wyswietlacza, obsluga 1-wire, I2C) i skompilowalem osobno , to w swoim zakresie dzialaly bez problemow .
Prosze o informacje, co powinienem sprawdzic.
Pozdrawiam


RE: Dzien dobry - Jarewa0606 - 01-02-2021

Stos.....


RE: Dzien dobry - Mi010101 - 02-02-2021

(01-02-2021, 17:53)Jarewa0606 napisał(a): Stos.....
Dziekuje za odpowiedz. 
Zapewne zwiazane jest to zachowanie ze stosem. Jednak nie wiem jak to a arduino zarzadzac. 
Nie napisalem programu "pod korek" , zostalo wolne ponad 700byte w RAM wiec spodziewam sie , ze jest miejsce na stos. OK przerwania jakies w tle o ktorych nie wiem pewno maja miejsce ( ot chocby timer do millis()).
Czy mozesz mi podac jakies narzedzie zeby to ogarnac, albo komende dla kompilatora, ktora by ostrzegala o tym ze moze byc problem ze stosem?
lub ustawiala odpowiednio SP?

Pozdrawiam


RE: Dzien dobry - Jarewa0606 - 02-02-2021

Narzędzie i owszem jest ale trzeba z niego umieć korzystać "debugger" ........

Jedyna rada to unikać co pamięciożerne...

https://www.codeproject.com/Tips/753716/Howto-find-out-how-much-RAM-your-Arduino-program-u