Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

dziwny problem z wyświetlaniem

Awatar użytkownika
jarek200
-
-
Posty:64
Rejestracja:25 lip 2004, o 20:25
Lokalizacja:Dąbrowa Górnicza
Kontaktowanie:
dziwny problem z wyświetlaniem

Postautor: jarek200 » 23 mar 2006, o 23:07

Hej Napisałem program na Atmega8, który:

-z pętli głównej wywołuje podprogram
-a ten wywołuje kolejny podprogram wyświetlający na LCD czas i przeliczoną wartośc z przetwornika ADC

Wszystko gra, tylko:

za drugim powrotem z podprogramu do pętli głównej i ponownym wywołaniu procedury wyświetlania, na wyświetlaczu pokazują się zakłócenia tj w różnych odstępach czasu przez ułamek sekundy pojawiają się różne losowe niezdefiniowane przeze mnie znaki w różnych miejscach na wyświetlaczu w linijce tylko tej, gdzie wyświetlany jest wynik przeliczenia ADC. Po kolejnym odświerzeniu przez program wyświetlacza (używam polecenia locatex,y w pętli ) dziwne znaki nikną - są "przykrywane" wartościami wyniku

Dzieje się tylko przy drugim i kolejnym wywołaniu
Po pierwszym uruchomieniu wszystko działa jak trzeba
Po drugim, zakłócenia pojawiają się co jedną dwie sekundy
a przy kolejnym wywołaniu tej procedury zakłócenia są niemal kilka razy na sekundę

Pomyślałem że zbytnio zapętliłem program i procedurę wyświetlania umieściłem w pierwszym podprogramie Próbowałem polecenia call a nawet goto i gosub, jednak nic nie pomogło dziwne zjawisko nadal istnieje

Jeżeli zajdzie potrzeba przedstawię mój program

Awatar użytkownika
Lemur
-
-
Posty:17
Rejestracja:27 lip 2004, o 08:30
Lokalizacja:Pruszków

Postautor: Lemur » 24 mar 2006, o 21:53

Podprogram wyświetlania jest z pętli wywoływany tak często w krótkim odcinku czasu ,że wyswietlacz nie wyrabia się z obsługą (wyświetlacze LCD sa dosyć wolne).Sposobem na to jest warunkowe wywoływanie podprogramu tylko wtedy gdy nastapi zmiana wyświetlanych danych n.p:zmiana sekundy czasu lub zmiana wyswietlanej wartości z przetwornika A/C.

Czajnik
-
-
Posty:264
Rejestracja:17 cze 2004, o 15:40
Lokalizacja:Kraków
Kontaktowanie:

Postautor: Czajnik » 25 mar 2006, o 09:03

nie jestem pewenienale bascom chba rozwiazuje ten problem:) tylko musisz przed kąpilacją w opcjach zaznaczyć jakiego kwarcu urzywasz zeby weidział jak bardzo spowolnić transmisje do wyswietlacza

Awatar użytkownika
jarek200
-
-
Posty:64
Rejestracja:25 lip 2004, o 20:25
Lokalizacja:Dąbrowa Górnicza
Kontaktowanie:

Postautor: jarek200 » 25 mar 2006, o 09:31

Kwarc został zdefiniowany, inaczej nie chodziłby zegar :)
a w kwestii wywoływania podprogramu wyświetlania , próbowałem spowolnic wywyoływanie przy pomocy "waitms 10 " jednak to też nic nie dało

Spróbuję z wywoływaniem warunkowym Dzięki

szymel
-
-
Posty:212
Rejestracja:16 sty 2005, o 16:42
Lokalizacja:Włocławek

Postautor: szymel » 25 mar 2006, o 11:00

Ja stawiam na stos.
Jak wyglądają u Ciebie zadeklarowane wielkości HW Stack,Soft Stack i Framesize :?:
Czy korzystasz z przerwań :?:
Przekazujesz argumenty do podprogramów :?:
Używasz zmiennych lokalnych :?:
...
itp.

Piotrek

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości