Witam serdecznie!
Jestem w trakcie tworzenia mojego pierwszego programu w Bascomie dla Atmegi 128. Nie miałem wcześniej do czynienia z mikrokontrolerami. Wiem, że trochę się porwałem z motyką na słońce używając wyświetlacza 320x240, który nie jest standardowo wspierany przez Bascom, ale taki akurat miałem. Problem jednak nie polega na samej obsłudze wyświetlacza, ale na tym, że po dodaniu kolejnego obrazka bgf do programu, przestaje on działać - w ogóle się nie uruchamia. Sam obrazek jest OK - umieszczając go w krótszym programie, nie mam z nim problemów. Czytałem trochę o ustawieniach $hwstack, $swstack i $framesize, ale nie posiadam JTAG żeby coś zobaczyć a na symulacji również nic nie widać, a podejrzewam, że właśnie tutaj tkwi problem. Będę wdzięczny za pomoc. Umieszczam wszystkie źródełka - program w zamieszczonej postaci się nie uruchamia, ale wystarczy zakomentować dwie ostatnie linijki zawierające ostatni obrazek żeby działał. Program się kompiluje bez problemu, zajmując około 26% flasha. Próbowałem włączać również optymalizację przy kompilowaniu, ale nie zauważyłem żadnych zmian. Program cały czas rozwijam i chciałbym zadeklarować jeszcze trochę nowych zmiennych, ale z drugiej strony nie wywala mi w trakcie kompilacji błędu przekroczenia pojemności SRAM. Będę wdzięczny za każdą pomoc w rozwiązaniu tego problemu.
---
Powalczyłem trochę z włączonym $dbg żeby dobrać wartości StackAnalyzerem, ale nie za bardzo mi to wyszło. Najpierw próbowałem uruchomić program z włączonym debugiem na standardowych wartościach 50/40/20 ale się nie udało, wywaliłem jeszcze jeden obrazek z programu i udało się uruchomić początek programu, wyleciała jedna linijka na serial i koniec. Zwiększenie frame do 120 pozwala na uruchomienie całego programu jeśli nie dostaje nic na wejście TX, dane na TX zawieszają procek albo go resetują. Wstawienie wyliczonych danych bez włączonego wejścia TX sprawia, że program się w ogóle nie uruchamia :/
---
Ustawiłem bardzo duże wartości - hw 800, sw 800, frame 1600 i stack analyzer pokazuje frame 103, ale hw i sw mają ujemne wartości.
Jestem w trakcie tworzenia mojego pierwszego programu w Bascomie dla Atmegi 128. Nie miałem wcześniej do czynienia z mikrokontrolerami. Wiem, że trochę się porwałem z motyką na słońce używając wyświetlacza 320x240, który nie jest standardowo wspierany przez Bascom, ale taki akurat miałem. Problem jednak nie polega na samej obsłudze wyświetlacza, ale na tym, że po dodaniu kolejnego obrazka bgf do programu, przestaje on działać - w ogóle się nie uruchamia. Sam obrazek jest OK - umieszczając go w krótszym programie, nie mam z nim problemów. Czytałem trochę o ustawieniach $hwstack, $swstack i $framesize, ale nie posiadam JTAG żeby coś zobaczyć a na symulacji również nic nie widać, a podejrzewam, że właśnie tutaj tkwi problem. Będę wdzięczny za pomoc. Umieszczam wszystkie źródełka - program w zamieszczonej postaci się nie uruchamia, ale wystarczy zakomentować dwie ostatnie linijki zawierające ostatni obrazek żeby działał. Program się kompiluje bez problemu, zajmując około 26% flasha. Próbowałem włączać również optymalizację przy kompilowaniu, ale nie zauważyłem żadnych zmian. Program cały czas rozwijam i chciałbym zadeklarować jeszcze trochę nowych zmiennych, ale z drugiej strony nie wywala mi w trakcie kompilacji błędu przekroczenia pojemności SRAM. Będę wdzięczny za każdą pomoc w rozwiązaniu tego problemu.
---
Powalczyłem trochę z włączonym $dbg żeby dobrać wartości StackAnalyzerem, ale nie za bardzo mi to wyszło. Najpierw próbowałem uruchomić program z włączonym debugiem na standardowych wartościach 50/40/20 ale się nie udało, wywaliłem jeszcze jeden obrazek z programu i udało się uruchomić początek programu, wyleciała jedna linijka na serial i koniec. Zwiększenie frame do 120 pozwala na uruchomienie całego programu jeśli nie dostaje nic na wejście TX, dane na TX zawieszają procek albo go resetują. Wstawienie wyliczonych danych bez włączonego wejścia TX sprawia, że program się w ogóle nie uruchamia :/
---
Ustawiłem bardzo duże wartości - hw 800, sw 800, frame 1600 i stack analyzer pokazuje frame 103, ale hw i sw mają ujemne wartości.