| Author |
Message
|
alexiel Poziom 14

Joined: 25 Apr 2003 Posts: 195
|
#1
18 Feb 2004 10:40 Dziwne zachowanie Timera w Bascom |
|
|
|
Witam wszystkich
Czy może mi ktoś takie dziwne zachowanie timera.
konfiguracja
config timer0=timer ,gate=internal , mode=0
czyli licznik 16bitowy z programowym ładowaniem początkowej wartości
wpisuje wartość 10000 bo chce mieć przerwanie około 10ms przy Xtal 12Mhz
czyli robie tak
Load timer0 , 10000
po czym wrzucam go do avsima i co widze TL0=F0 i TH0=F0
czy może mi ktoś wyjaśnic cosie z tym dzieje
byłbym wdzięczny bo wprzeciwnym przypadku albo nie rozumiem Bascoma albo ten program coś kopie.
|
|
| Back to top |
|
 |
alexiel Poziom 14

Joined: 25 Apr 2003 Posts: 195
|
#2
18 Feb 2004 11:31 Re: Dziwne zachowanie Timera w Bascom |
|
|
|
Pomyliłem się powinno być
Config timer0 = timer , gate = internal , mode = 1
|
|
| Back to top |
|
 |
Google

|
#
18 Feb 2004 11:31 |
|
|
|
|
|
| Back to top |
|
 |
slawko_k Poziom 22

Joined: 05 Oct 2003 Posts: 2205 Location: Podkarpackie
|
#3
18 Feb 2004 23:31 Re: Dziwne zachowanie Timera w Bascom |
|
|
|
no to moze olej komene load i po porstu
tl0=&H10
th0=&H27
|
|
| Back to top |
|
 |
Google

|
#
18 Feb 2004 23:31 |
|
|
|
|
|
| Back to top |
|
 |
radek.kaba Poziom 13

Joined: 07 Sep 2003 Posts: 122 Location: Inowrocław
|
#4
18 Feb 2004 23:41 Dziwne zachowanie Timera w Bascom |
|
|
|
Jeżeli chodzi o sumulatory Bascoma AVR i 8051 to nie nalęży im za bardzo wierzyć w podawane czasy,
jężeli przerwanie miało być wywołane np. co 10ms, Bascom mówi 15 to należy go olać i wierzyć we własne obliczenia (o ile są poprawne).
|
|
| Back to top |
|
 |
Google

|
#
18 Feb 2004 23:41 |
|
|
|
|
|
| Back to top |
|
 |
szymtro Poziom 21

Joined: 07 Apr 2003 Posts: 1425 Location: Warszawa
|
#5
19 Feb 2004 01:26 Re: Dziwne zachowanie Timera w Bascom |
|
|
|
komenda load działa tylko w trybie 2(8 bitów z rzeładowaniem hardare'owym). przekazywanie zmiennych większych jak bajt działa tylko z timer2(89c52 i podobne). Tak więc jeżeli spróbujesz załadować 10000 w osiem bitów to mogą być różne efekty. Jeżeli już musisz stosować licznik 16 bitowy(tryb 1) to na początku przerwania tajmera dodaj ładowanie liczników na nowo, np:
przerwanie_tajmera0:
tl0=99:th0=FE
|
|
| Back to top |
|
 |
W.K Poziom 13

Joined: 21 Dec 2003 Posts: 139
|
#6
19 Feb 2004 01:49 Re: Dziwne zachowanie Timera w Bascom |
|
|
|
W Bascomie AVR jest taka ciekawostka: Load timer1 ,100 - działa błędnie
Load timer1,zmienna - działa prawidłowo!
dla timer0 jest odwrotnie(ze zmienną nie działa)
Np. w symulatorze Bascom AVR:
Dim X As Word
Config Timer1 = Timer , Prescale = 8
Load Timer1 , 100 ' timer1 = 156
X = 100
Load Timer1 , X ' timer1 = 65436
nop
nop
|
|
| Back to top |
|
 |
alexiel Poziom 14

Joined: 25 Apr 2003 Posts: 195
|
#7
19 Feb 2004 08:23 Re: Dziwne zachowanie Timera w Bascom |
|
|
|
Dzieki wszystkim za zainteresowanie. Poszperałem wczoraj wieczorem i znalazłem że w mode=1 wartość ładuje się instrukcją 'counter [0,1]=wartość lub jak koledzy napisali np. tl0=&h5f th0=&h45, a load działa tylko w mode=2.
Mam nowe pytanie przy kofiguracji takiej:
Config timer0=counter , gate=internal , mode=1
powinien zliczać impulsy podawane na pin P3.4 czyli T0 a on oczywiście po podanie niskiego poziomu na to wejście uruchamia licznik i zlicz dopuki jest stan niski na tym pinie a może inaczej zliczać ilość impulsów zewnętrznych może macie jakieś pomysły w tej materii....
|
|
| Back to top |
|
 |
Google

|
#
19 Feb 2004 08:23 |
|
|
|
|
|
| Back to top |
|
 |
slawko_k Poziom 22

Joined: 05 Oct 2003 Posts: 2205 Location: Podkarpackie
|
#8
19 Feb 2004 09:25 Re: Dziwne zachowanie Timera w Bascom |
|
|
|
config timer0 ................ edge=falling ..............
|
|
| Back to top |
|
 |
alexiel Poziom 14

Joined: 25 Apr 2003 Posts: 195
|
#9
19 Feb 2004 11:16 Re: Dziwne zachowanie Timera w Bascom |
|
|
|
Mógłbyś napisać całą konfiguracje tego timera
będe wdzięczny.
|
|
| Back to top |
|
 |