logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[attint2313][BASCOM] - Dziwne zachowanie komendy GETRC5

whyki 14 Paź 2013 16:57 2055 15
  • #1 12842878
    whyki
    Poziom 21  
    Witam.
    Temat był już poruszany, ale "umarł" nim padła jakaś konkretna odpowiedź.
    Link
    Próbuję odebrać kod z pilota RC5.

    Kod: text
    Zaloguj się, aby zobaczyć kod



    Efekt działania programu jest taki, że po przyciśnięciu dowolnego klawisza na pilocie RC5, na LCD pojawia się napis adres: 10 komenda: 106. Zawsze te same dane: 10 i 106... Na piloty inne niż RC5 program nie reaguje.
    Co może być przyczyną takiego działania? Spotkał się ktoś z takim zjawiskiem?
    edit:
    I jeszcze jedno. Program odbiera komendy wyłącznie wtedy gdy częstotliwość kwarcu zadeklarowana w programie jest 2x mniejsza niż w rzeczywistości, tzn. jeśli $crystal=4000000, fusebity muszą być ustawione na 8000000. Inaczej program nie reaguje na pilota.
    Pozdrawiam.
  • #2 12842973
    Press
    Poziom 24  
    A jaką masz wersję Bascoma? Sprawdź w Helpie, ale przynajmniej kiedyś tak było, że aby odbiór RC5 działał prawidłowo MUSIAŁ być wykonywany w podprogramie wywoływanym przez INT0
  • #3 12842997
    whyki
    Poziom 21  
    Też myślałem że to wina wersji i dla tego pobrałem najnowsze demo. Efekt ten sam. Poza tym przeglądnąłem chyba wszystkie wątki z RC5 na elektrodzie i zauważyłem że ludzie wpinają odbiornik pod różne porty i piny. Nikt nie zgłaszał podobnych problemów.
  • #4 12845046
    sp3ots
    Poziom 38  
    Witam !
    Cytat:
    "Na piloty inne niż RC5 program nie reaguje."

    To zrozumiałe, przecież w Bascomie używasz Config Rc5 =....
    Sprawdziłem Twój program z ATtiny2313, program DZIAŁA.


    Cytat:
    "I jeszcze jedno. Program odbiera komendy wyłącznie wtedy gdy częstotliwość kwarcu zadeklarowana w programie jest 2x mniejsza niż w rzeczywistości, tzn. jeśli $crystal=4000000, fusebity muszą być ustawione na 8000000. Inaczej program nie reaguje na pilota."

    To nie prawda, przynajmniej w przypadku ATtiny2313.
    Sprawdziłem że odbiornik RC5 nie działa gdy w Bascomie konfigurujemy
    $crystal = 4000000, a fuse bity ustawimy na generator wewnętrzny 8MHz lub rezonator zewnętrzny 8MHz.

    Bascom AVR 2.0.7.1 DEMO

    Pozdrawiam. Stefan
  • #5 12845160
    whyki
    Poziom 21  
    Dzięki za zainteresowanie. Z tym nie reagowaniem na inne niż RC5 chciałem zaznaczyć tylko to, że układ nie zbiera "śmieci", tylko faktycznie dekoduje RC5.
    sp3ots napisał:
    To nie prawda, przynajmniej w przypadku ATtiny2313.

    Właśnie to mnie najbardziej zastanawia. U mnie jak są zgodne częstotliwości, program zatrzymuje się na "czeka na RC5". Jak ustawie $crystal=4MHz, fuse=8MHz (działa też przy $crystal=2MHz, fuse=4MHz) odczytuje komendę 106.
    Prześlesz mi kod wynikowy? Wpompuje go do procka i zobaczymy co się stanie...

    Dodano po 2 [minuty]:

    moja wersja BASCOM 2.0.7.5 DEMO
  • #6 12845213
    sp3ots
    Poziom 38  
    W załączniku pliki: BAS, HEX i BIN omawianego programu dla ATtiny2313 ( bez literki A, nie mam 2313A ).
  • #7 12845278
    whyki
    Poziom 21  
    Oczywiście nie mogło zadziałać z prostego powodu - różnice w konfiguracji LCD... Skompiluj mi proszę ten plik i prześlij .hex'a
    Jeszcze jedna prośba - skompiluj 2 razy. raz z $crystal=8000000 a drugi raz z $crystal=4000000
    Dzięki.
  • #9 12845876
    whyki
    Poziom 21  
    Zaprogramowałem procesor danymi od Ciebie i jest dokładnie to samo. Skoro u Ciebie program działa prawidłowo, to albo wina programatora, albo coś w układzie... Programator mam najprostszy z LPT, a co do układu, korzystam z płytki testowej AVT3500. Odłączyłem wszystko co może powodować jakieś zakłócenia, TSOP wpięty zgodnie z datasheetem i dalej to samo...
    Co to może być?
  • Pomocny post
    #10 12845909
    PROXAQQ
    Poziom 14  
    Pilot jest na pewno z kodem RC5?
  • #11 12846034
    whyki
    Poziom 21  
    Na 100% nie wiem. Mam jednak w domu kilka pilotów m.in do DVD MEDION, do sterowników LED, do amplitunera CAT, telewizora TRILUX i chyba ELEMIS. Wszystkie są opisane w sieci jako RC5. Poza tym mam pilot uniwersalny, który męczyłem długo i wytrwale tak więc na pewno gdzieś musiałem trafić na RC5, ale jedyne co udało mi się wykrzesać z odbiornika to adres 10, komenda 106. Mam też kilka pilotów które na pewno w RC5 nie pracują. Na te odbiornik nie reaguje.
  • #12 12846099
    PROXAQQ
    Poziom 14  
    Funkcja Getrc5 działa z przerwaniem INT0 lub INT2. Z INT1 nie można jej skonfigurować. Ustaw w programie Timer0 i podłącz odbiornik na Pind.2 (dla ATtiny2313).
  • #13 12846167
    sp3ots
    Poziom 38  
    PROXAQQ napisał:
    Funkcja Getrc5 działa z przerwaniem INT0 lub INT2. Z INT1 nie można jej skonfigurować. Ustaw w programie Timer0 i podłącz odbiornik na Pind.2 (dla ATtiny2313).

    Wyjaśnij proszę co to znaczy ?
    Jeśli masz na myśli że w przypadku ATtiny2313 RC5 działa tylko z pinem Portd,2 to się mylisz.
    Ta konfiguracja:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    działa dobrze, sprawdziłem.
  • #14 12846179
    PROXAQQ
    Poziom 14  
    No to widocznie coś się zmieniło w nowszych wersjach Bascoma.
  • #15 12847550
    whyki
    Poziom 21  
    Problem rozwiązał się sam.
    Ponieważ chwilowo zostałem bez płytki testowej na której uruchamiałem program, pogrzebałem w "szufladzie" i znalazłem starą płytkę z attiny2313. Po szybkiej adaptacji wróciłem do męczenia kodu i... ku mojemu wielkiemu zdziwieniu wszystko zaczęło działać poprawnie. Tak więc postanowiłem iść na łatwiznę, i zamiast zastanawiać się dlaczego "tamto" nie działało, pchnąć projekt do przodu. Tematu nie zamykam, jak znajdę rozwiązanie zagadki to je opiszę.
    Dziękuję wszystkim za pomoc.
  • #16 13055480
    whyki
    Poziom 21  
    Podsumowanie:
    Jeśli po poprawnej konfiguracji RC5 procesor odbiera tylko adres 10 i komendę 106, w dodatku tylko gdy częstotliwość kwarcu zadeklarowana w programie jest 2x mniejsza niż w rzeczywistości, znaczy to że pilot z którego korzystamy nie nadaje w RC5 :-\
REKLAMA