RTV forum PL | NewsGroups PL

Odczyt impulsów na T0 w CodeVisionAVR: jak mierzyć w czasie rzeczywistym?

CodeVisionAVR Timer

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Odczyt impulsów na T0 w CodeVisionAVR: jak mierzyć w czasie rzeczywistym?

Pinarczuk
Guest

Tue Oct 05, 2004 4:26 am   



Wiutam.
Czy może ktoś wie:
Jak odczytać ilość impoulsów podanych w ciągu jednej sekundy na T0.
Z góry dziękuję za odpowiedź.


--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Grzegorz Kurczyk
Guest

Tue Oct 05, 2004 5:25 am   



Użytkownik Pinarczuk napisał:
Quote:
Wiutam.
Czy może ktoś wie:
Jak odczytać ilość impoulsów podanych w ciągu jednej sekundy na T0.

CodeVision to chyba tylko kompilator więc racej nie poda Ci ile impulsów
weszło do procka z zewnątrz



--
Pozdrawiam
Grzegorz Kurczyk
http://www.control.slupsk.pl
ftp://ftp.control.slupsk.pl
GG: 1445218

Krzysztof Gawryś
Guest

Tue Oct 05, 2004 6:52 am   



Użytkownik "Pinarczuk" <pinarczuk@poczta.onet.pl> napisał w wiadomości
news:4247.0000042d.416230a0@newsgate.onet.pl...
Quote:
Wiutam.
Czy może ktoś wie:
Jak odczytać ilość impoulsów podanych w ciągu jednej sekundy na T0.
Z góry dziękuję za odpowiedź.


Skonfigurować Timer/Counter0 aby pracował z zewnętrznym źródłem zegara.
A później w pętli co sekundę odczytywać rejest licznika T0 i następnie go
zerować.
Odmierzanie czasu jednej sekundy możesz zrobić na innym Timerze.

K.

Pinarczuk
Guest

Tue Oct 05, 2004 7:00 am   



Quote:
Użytkownik "Pinarczuk" <pinarczuk@poczta.onet.pl> napisał w wiadomości
news:4247.0000042d.416230a0@newsgate.onet.pl...
Wiutam.
Czy może ktoś wie:
Jak odczytać ilość impoulsów podanych w ciągu jednej sekundy na T0.
Z góry dziękuję za odpowiedź.


Skonfigurować Timer/Counter0 aby pracował z zewnętrznym źródłem zegara.
A później w pętli co sekundę odczytywać rejest licznika T0 i następnie go
zerować.
Odmierzanie czasu jednej sekundy możesz zrobić na innym Timerze.

K.



A jak używam jeszcze UARTu.?


--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Krzysztof Gawryś
Guest

Tue Oct 05, 2004 7:59 am   



Użytkownik "Pinarczuk" <pinarczuk@poczta.onet.pl> napisał w wiadomości
news:1243.00000092.41625493@newsgate.onet.pl...
Quote:
Użytkownik "Pinarczuk" <pinarczuk@poczta.onet.pl> napisał w wiadomości
news:4247.0000042d.416230a0@newsgate.onet.pl...
Wiutam.
Czy może ktoś wie:
Jak odczytać ilość impoulsów podanych w ciągu jednej sekundy na T0.
Z góry dziękuję za odpowiedź.


Skonfigurować Timer/Counter0 aby pracował z zewnętrznym źródłem zegara.
A później w pętli co sekundę odczytywać rejest licznika T0 i następnie
go
zerować.
Odmierzanie czasu jednej sekundy możesz zrobić na innym Timerze.

K.



A jak używam jeszcze UARTu.?


Podstawowe pytanie, jaki masz kwarc przy uC ?

Załóżmy że 7,3728MHz.

Więc, Timer1 konfigurujesz aby overflow wywoływał przerwanie "Timer/Counter1
Overflow" oraz aby był "napędzany" zegarem clk/8, czyli 921,6kHz.
Przerwanie Overflow w takim przypadku zostanie wywołane 14,0625 raza na
sekundę.
(921600 / 65536 = 14,0625)
I wystarczy że w ciele funkcji przerwania będziesz odliczał od 0 do 14, i
przy 14 zatrzymywał T0, odczytywał rejestr jego licznika do jakiejś
zmiennej, zerował ten rejest, puszczał T0 dalej w ruch i zaczynał liczenie
do 14 od nowa.

A ponieważ Timer0 jest 8bitowy i maksymalna ilosc impulsow jakie może
zliczyć to 256, musisz i tutaj wykorzystać przerwanie Overflow tego timera.
I za kazdym jego wywołaniem musisz dodawać 256 do wartości zmiennej, w którą
zapisuje przerwanie Overflow timera T1. Chyba że 256 imp. na sekundę to dla
Ciebie wystarczająco dużo, nie musisz wklepywać w program tego akapitu.

W tym momencie masz pomiar oparty na przerwaniach i możesz spokojnie
obsługiwać sobie UART w głownej pętli programu, czy jak tam sobie chcesz.

Brzmi to strasznie skomplikowanie, może nawet sam troche to zakręciłem
Wink)))
Ale to proste do zaprogramowania.

K.

elektroda NewsGroups Forum Index - Elektronika Polska - Odczyt impulsów na T0 w CodeVisionAVR: jak mierzyć w czasie rzeczywistym?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map