Skocz do zawartości

Pomocna odpowiedź

Napisano

Witam.

Właśnie buduję robota linefollower. Robot jest skończony, tylko trzeba go zaprogramować, i tutaj pojawia się problem, otóż nie mogę skonfigurować timera:

$regfile = "attiny26.dat"
$crystal = 1000000

Config Timer1 = Pwm , Prescale = 64 , Pwm = 8 ' unknown config parameter [PWM]
Compare A = Clear Down Compare B = Clear Down


Config Porta = &B00000111
Config Portb = Output

Set Porta.4
Set Porta.1
Reset Porta.2
Reset Porta.0

Do

If Pinb.4 = 1 Then Pwm3b = 100 ' assignment error
Elseif Pinb.5 = 1 Then Pwm3b = 150
Elseif Pinb.5 = 1 And Pinb.4 = 1 Then Pwm3b = 200
End If

Loop

End

jest to program do przetestowania odpowiedniego PWM do moich silników. Niestety wyskakują błędy które zamieściłem obok linijki w której się pojawiają.

__________

Komentarz dodany przez: Nawyk

Używaj znaczników code

Cóż, Aniele Śmierci, robot widocznie nie jest skończony, choć jak piszesz "tylko trzeba go zaprogramować" 😐 Zanim to zrobisz, zadaj sobie jednak trud obejrzenia wnętrza Twojego procesora opisanego np. w jego karcie katalogowej. Wybrałeś go z jakiegoś szczególnego powodu czy było to na chybił trafił?

Tiny26 ma szczególny wśród AVR Timer 1 - bardzo fajny ale jednak inny niż typowy. Po pierwsze jest 8-bitowy więc nie możesz wybierać różnej długości okresu zliczania inaczej jak przez wpis do OCR1C - parametr "PWM" podający długość w bitach jest tu oczywiście nie na miejscu i nic dziwnego, że kompilator się czepia.

Nie masz też tam żadnego timera 3, więc próba wpisania czegoś do pwm3b nie może się udać. Kopiowałeś skądś kod nie pracujący na tiny26 - to raczej widać, ale czy choć raz go przeczytałeś i zrozumiałeś?

Radzę jednak, posiłkując się danymi katalogowymi używać wprost rejestrów związanych z timerem zamiast tych dziwnych CONFIG. Spróbuj przeczytać to:

http://www.elektroda.pl/rtvforum/topic88939.html

Oczywiście. Pokaż co już zrobiłeś i opisz czego się spodziewasz, zapodaj kilka linijek kodu ustawiającego ten nieszczęsny timer z komentarzami jak rozumiesz działanie bitów i dlaczego tak a nie inaczej je ustawiasz, wrzuć schemat bo niby skąd mamy wiedzieć jak to podłączyłeś i wtedy możemy porozmawiać o tym co zrobiłeś źle. Gotowca nie będzie.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...