Witam chcę zrobić lampke rgb sterowaną na pilota rc5, jednak napotykam pewien problem:
kod programu
Gdy zrobie obsługe rc5 na timer0 to trzeba albo długo trzymać przycisk, albo program zamula i zmiany kolorów następują za wolno (w zależności od tego jak wplete obsługe rc5). chciałbym zrobić rc5 na timer1.ale nie wiem jak to zrobić i czy co kolwiek to coś da.na początku (rc5 na timer0) robiłem tak aby po naciśniśnięciu guzika na pilocie pojawiał sie na lcd jakiś napis, tak aby zobaczyć jak to sie zachowuje, jednak efekty były takie jak napisałem powyżej.wiele innych modyfikacji programu (dodanie przerwań, programowe pwm itd) nie wiele pomagały (program albo za wolno chodził, albo diody rozbłyskiwały pomiędzy przejściami).myśle ze problem jest w tym ze do programu chciałem wykożystać timer0 i timer1.czy ktoś ma pomysł jak to rozwiązać?tak aby kolory zmieniały sie bez zamulania lub rozbłyskiwania, a po naciśnięciu guzika na pilocie np na lcd pojawiał sie napis.(potem przerobie to sobie program na własne potrzeby np skok do podprogramu).
kod programu
$regfile = "m16def.dat"
$crystal = 8000000
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
Config Timer2 = Pwm , Async = Off , Pwm = On , Compare Pwm = Clear Down , Prescale = 1
Pwm1a = 0
Pwm1b = 0
Ocr2 = 255
Dim R As Byte
Dim G As Byte
Dim B As Byte
Do
Wait 1
For R = 0 To 255
Pwm1a = R
Waitms 10
Next R
Wait 1
For B = 255 To 0 Step -1
Ocr2 = B
Waitms 10
Next B
Wait 1
For G = 0 To 255
Pwm1b = G
Waitms 10
Next G
Wait 1
For R = 255 To 0 Step -1
Pwm1a = R
Waitms 10
Next R
Wait 1
For B = 0 To 255
Ocr2 = B
Waitms 10
Next B
Wait 1
For G = 255 To 0 Step -1
Pwm1b = G
Waitms 10
Next G
Loop
EndGdy zrobie obsługe rc5 na timer0 to trzeba albo długo trzymać przycisk, albo program zamula i zmiany kolorów następują za wolno (w zależności od tego jak wplete obsługe rc5). chciałbym zrobić rc5 na timer1.ale nie wiem jak to zrobić i czy co kolwiek to coś da.na początku (rc5 na timer0) robiłem tak aby po naciśniśnięciu guzika na pilocie pojawiał sie na lcd jakiś napis, tak aby zobaczyć jak to sie zachowuje, jednak efekty były takie jak napisałem powyżej.wiele innych modyfikacji programu (dodanie przerwań, programowe pwm itd) nie wiele pomagały (program albo za wolno chodził, albo diody rozbłyskiwały pomiędzy przejściami).myśle ze problem jest w tym ze do programu chciałem wykożystać timer0 i timer1.czy ktoś ma pomysł jak to rozwiązać?tak aby kolory zmieniały sie bez zamulania lub rozbłyskiwania, a po naciśnięciu guzika na pilocie np na lcd pojawiał sie napis.(potem przerobie to sobie program na własne potrzeby np skok do podprogramu).