Skocz do zawartości

Błąd w programie, RC5 bascom


marcelos

Pomocna odpowiedź

Tak jak w temacie, napisałem prosty program na atmege32 i nie wiem co w nim nie tak, problem polega na tym, że na lcd wyświetla się cały czas (bez względu na to czy naciskam coś na pilocie czy nie) adres = 255 , komenda = 255.

$regfile = "m32def.dat"
$crystal = 11059200

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Lcdmode = Port
Cursor Off Noblink

Config Rc5 = Pind.6
Enable Interrupts
Dim Address As Byte , Command As Byte


Do
Getrc5(address , Command)

If Address = 0 Then
Command = Command And &B01111111
End If

Cls
Lcd "ADRES :" ; Address
Lowerline
Lcd "KOMENDA :" ; Command

Waitms 500

Loop
End
Link do komentarza
Share on other sites

Czemu mnie nie dziwi, że to nie działa ?

Bo BASCOM tak ma. Komenda GETRC5, była tworzona do starszych ATMeg, i jeżeli jakiś procesor nie jest z nimi zgodny budową Timerów, i rejestrami SFR, to się wysypie. Inna sprawa, że odbiornik musi być podpięty do dobrego przerwania.

CONFIG RC5 - pozwala to niby zmienić, ale nie daję głowy że zawsze dobrze zadziała.

Ważny też jest Timer 0.

W czasie działania funkcji używany jest licznik TIMER0 i związane z nim przerwanie. Licznik ten jest służy do generacji wymaganych opóźnień podczas próbkowania sygnału. TIMER0 może być dalej używany przez program, lecz należy się liczyć z wynikłymi opóźnieniami, gdy wykonywana będzie funkcja GETRC5(). Jest tylko jeden warunek: przerwania licznika TIMER0 nie mogą być używane.

Ostatecznie pilot którego używasz, nie nadaje w RC5, tez tak miałem 😉. To nie jest wbrew pozorom popularny standard w pilotach.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Problem w tym że pilot w 100% nadaje w rc5 i , że kiedyś jak program tego typu odpalałem na tym procesorku i z tym samym pilotem wszystko pięknie chodziło i dlatego teraz nie wiem co się dzieje 🙂 a tak dla rozwiania wszystkich wątpliwości związanych z pilotem to posiadam ten o to pilot : http://www.sklep.atnel.pl/pl/p/Pilot-RC5/18

Link do komentarza
Share on other sites

Uruchamiasz to na jakimś zestawie czy samemu podłączyłeś czujnik? Może masz źle podłączonego TSOPa, są dwie wersje z zamienionymi dwoma pinami - przynajmniej tak było w tej mniejszej wersji czujników.

Link do komentarza
Share on other sites

Bascom czyta komendę getrc5 bardzo dobrze jest po prostu błąd w programie.

wystarczy dodać

if command <>255 then..........

i tyle

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.