problem z symulatorem bascom

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Awatar użytkownika
haterkmp
Użytkownik
Posty: 652
Rejestracja: 08 sie 2008, 11:47
Lokalizacja: Wałbrzych

problem z symulatorem bascom

Post autor: haterkmp » 15 kwie 2009, 13:08

witam
jak wszyscy wiedzą jestem świeży w dziedzinie mikrokontrolerów więc pytam:
czy symulator w bascomie w ogóle działa? tzn. symuluję program prostego licznika z wyswietlaczem led i wykorzystuje obydwa timery (2313) i fakt zmienne się zmieniają jednak trwa to bardzo długo - zmienna od sekund ma się zmieniać co sekundę (oczywiste) i ma podwyższać swoją wartość przy każdym przepełnieniu licznika (czyli przy wygenerowaniu przerwania, oczywiste) no i ta zmienna oraz sam rejestr tego licznika zmienia się co jakieś 15-20s. drugi licznik też nie zgłasza przerwania w odpowiednim czasie.
czy to normalne czy gdzieś szukać błędów bo na płytce testowej wszystko jest ok. czy mam rozumieć że ten symulator to tylko taka ściema że niby w ogóle coś działa?

Awatar użytkownika
RcTomek
Moderator
Posty: 243
Rejestracja: 27 wrz 2007, 21:15
Lokalizacja: Głogów / Wrocław

Post autor: RcTomek » 15 kwie 2009, 14:53

Niestety symulator Bascom'a tak reaguje na polecenia z grupy wait. Problem eliminuje specjalna dyrektywa stworzona na potrzeby symulacji programu. Mowa o $sim, która przyspiesza działanie waitów. Przed docelową kompilacją (tą dla uC) należy usunąć $sim. Reszta symulacji polega na obserowowaniu zawartości rejestrów i ewentualnego nadpisywania.
Symulator Bascoma nie jest jakiś super-hiper, ale czasem ułatwia pisanie czy debugowanie programu.

Awatar użytkownika
haterkmp
Użytkownik
Posty: 652
Rejestracja: 08 sie 2008, 11:47
Lokalizacja: Wałbrzych

Post autor: haterkmp » 15 kwie 2009, 15:27

program nie ma żadnych wait`ów czy innych. jest pusta pętla do:loop:end i tylko tajmery działają i mają zgłaszać przerwania i podczas tych przerwań program ma je obsłużyć (podnieść wartość zmiennych) no program banalny
ale wstawiłem $sim i teraz zmienne przybierają w ogóle dziwaczne wartości... mam pełną wersję (legalną) 1.11.9.0. nie chodzi mi wykorzystywanie tego symulatora do sprawdzenia jak się zachowa realny układ tylko pytam czy Wy też tak macie

Robert0409
-
Posty: 18
Rejestracja: 03 kwie 2009, 9:33
Lokalizacja: Włwa

Post autor: Robert0409 » 17 kwie 2009, 7:41

Symulator działa, ale nie w czasie rzeczywistym. Inaczej mówiąc czym szybszy komputer tym symulowana sekunda jest krótsza. Na dole symulatora w pasku podawane są dane odnośnie czasu przy pracy w rzeczywistym układzie.

ODPOWIEDZ