atmega8 i spowolnione =?ISO-8859-2?Q?dzia=B3anie?=



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: rogher_at_nospam_wp.pl (Rogher)
Subject: atmega8 i spowolnione =?ISO-8859-2?Q?dzia=B3anie?=
Date: 5 Dec 2004 10:09:28 +0100


Witam,

Mam następujący problem: robię układzik na atmega8. LCD, pomiar
temperatury itp.
uruchomiłem wersję prototypową i gdy dopracowałem wszystko wykonałem już
ostateczną wersję płytki.
Po montażu i uruchomieniach okazało się że procek chodzi na szybkości o
wiele niższej niż w prototypie. (samego protoypu nie mogę już włączyć bo
uległ znacznej dewastacji w trakcie uruchamiania i potem demontażu).
atmega wykorzystuje wewnętrzny oscylator 1MHz czyli niżej już nie mogła
zejść (a jest ok. 10 razy wolniej - aczkolwiek się waha).
Początkowo myślałem że timer jest coś źle ustawiony natomiast to nie
jest możliwe bo nawet inicjalizacja LCD i wyświetlenie na nim ciągu
znaków jest znacząco spowolniona (przy wyświetleniu ciągu znaków widzę
po kolei jak wyświetla się każdy znak - jeden za drugim. A to już nie ma
nic wspólnego z timerami.)

Grupę przeszukałem i nic. Wcześniej nie zauważyłem aby ktoś miał taki
problem. Nie ukrywam że ta sztuka Atmegi przeżyła swoje podczas
uruchamiania ale chodzi. (Ale jest to inna sztuka niż ta z prototypu).

Do linii XTAL1 i 2 podłączone są linie danych wyświetlacza LCD.

Ma ktoś jakiś pomysł?

Rogher
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "Piotrek Sz." <zumek_at_nospam_WYTNIJ.gazeta.pl>
Subject: =?ISO-8859-2?Q?Re:_atmega8_i_spowolnione_dzia=B3anie?=
Date: Sun, 5 Dec 2004 11:29:28 +0000 (UTC)


rogher_at_nospam_wp.pl (Rogher) napisał(a):
..
po kolei jak wyświetla się każdy znak - jeden za drugim. A to już nie ma
nic wspólnego z timerami.)
..
Rogher

To chyba z przerwaniami coś nie tak :(
Procek traci zbyt dużo czasu(mocy obliczeniowaj) na obsługę przerwań
timera(ów),sprawdź wartość preskalera.
Podaj więcej szczegółów - jakie przerwania wykorzystujesz i jak często.

Pozdrawiam
Piotrek Sz.



--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Poprzedni Następny
Wiadomość
Spis treści
From: rogher_at_nospam_wp.pl (Rogher)
Subject: Re: atmega8 i spowolnione =?ISO-8859-2?Q?dzia=B3anie?=
Date: 5 Dec 2004 13:20:49 +0100


Piotrek Sz. napisał(a):
rogher_at_nospam_wp.pl (Rogher) napisał(a):
..

po kolei jak wyświetla się każdy znak - jeden za drugim. A to już nie ma
nic wspólnego z timerami.)

..

Rogher


To chyba z przerwaniami coś nie tak :(
Procek traci zbyt dużo czasu(mocy obliczeniowaj) na obsługę przerwań
timera(ów),sprawdź wartość preskalera.
Podaj więcej szczegółów - jakie przerwania wykorzystujesz i jak często.

Pozdrawiam
Piotrek Sz.



To raczej nie o to chodzi. Przerwania mam od timera1, i int0. Też na
początku sądziłem że tu coś nie tak, jednak wykluczyłem to bo po resecie
układu jest kawałek kodu z inicjalizacją peryferiów a potem procedura
inicjalizacji LCD itp. W programie głównym raz w pętli odświeżana jest
zawartość ekranu LCD. Kod napisany jest w C (CodeVision) i wykorzystuję
procedurę lcd_puts(string). W pierwszej pętli po resecie (gdy LCD jest
czysty) widać kolejno pojawiające się znaki na LCD. A z tego co wiem
funkcja lcd_puts() opiera swoje delaye na pętlach opóźniających czyli
tylko zegar ma tu znaczenie. Co dziwne w prototypie wszystko było ok.
Obecnie podniosłem zegar z 1MHz na 8 MHz i chodzi mniej więcej jak w
prototypie ale to nie jest rozwiązanie. Chcę wiedzieć o co chodzi.

Rogher
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika