Buduję sterownik diod RGB sterowany z pilota RC5 na ATTiny2313 i mam problem z konfiguracją Timera0 jako generator PWM. Diody są ze wspólną anodą. Chcę sterować nim jednym z trzech kolorów. Timer1 skonfigurowałem poprawnie i działa on bez zarzutu. Co do Timera0 wyczytałem, że trzeba przeprowadzić ręczną konfigurację jego rejestrów, co jest opisane w nocie ATTiny2313. Jednak ze względu na to że dopiero zaczynam naukę programowania nie mogę sobie z tym poradzić. Czy któryś z forumowiczów mógłby wytlumaczyć w jak najprostszy sposób jak się konfiguruje tego Timera?
Oczywiście dodaję napisany przeze mnie program:
Kod: Zaznacz cały
$regfile = "attiny2313.dat"
$crystal = 8000000
'Konfiguracja portów
Config Pinb.4 = Output
Config Pinb.3 = Output
Config Pinb.2 = Output
Config Rc5 = Portd.2
'Konfiguracja PWM
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
'Włączenie przerwań globalnych
Enable Interrupts
'Definiowanie zmiennych
Dim Command As Byte
Dim Adress As Byte
Dim R As Byte
Dim G As Byte
Dim B As Byte
'Pętla główna programu
Do
'Odbiór kodu RC5
Getrc5(adress , Command)
Command = Command And &B01111111
'Zapalanie czerwonego
If Command = 1 And Adress = 0 Then
R = 255
G = 0
B = 0
End If
Pwm1b = R
Pwm1a = G
Loop
End