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

Sterownik ON/OFF. Kod pilota RC5.

skater156 22 Lis 2009 19:08 2546 7
  • #1 7295466
    skater156
    Poziom 14  
    Witam, mam wielką prośbę.Na elektrodzie znalazłem sterownik ON/OFF RC5 by bogdanbb2.Rozchodzi się o to, że nie posiadam LCD żeby sprawdzić kod pilota RC5 i prosiłbym żeby ktoś mi dopisał do kodu do uk poniżej funkcje gdzie układ sam się uczy kodu(z boku jak by można prosić komentarze co dana linijka robi, nie chodzi mi tylko o to żeby ktoś mi napisał a ja odpalę).

    'wyłącznik RC5 by BM
    $crystal = 1000000
    $regfile "attiny2313.dat"
    Config Portb.0 = Output
    Portb.0 = 0
    Config Rc5 = Pind.6
    Dim Address As Byte , Command As Byte
    Enable Interrupts
    Do
    Getrc5(address , Command)
    Command = Command And &B01111111
    If Address = 10 And Command = 107 Then
    Toggle Portb.0
    Waitms 400
    End If
    Loop
    End

    Za wszystkie odpowiedzi dzięki :)
  • #2 7296641
    pmmisiek
    Poziom 15  
    Może masz RS232 to wszystko wysyłaj na RSa, jeśli nie masz ani RSa ani LCD ani nawet LED do sprawdzania stanu mikrokontrolera to tak naprawdę nie wiesz co się z nim dzieje i jak się zachowuje napisany przez Ciebie program.

    Z tego co pamiętam to w pilotach RC5 cyfrom od 1 do 9 odpowiadają kody 1 do 9;
    strzałka w górę to 33; w dól 32. Może się przyda.

    Pozdrawiam
  • Pomocny post
    #3 7296749
    wader_669
    Poziom 28  
    Pierwsze co to bym ci polecal to zrobic na przerwaniu, masz pelno instrukcji na elektrodzie i w necie jak to zrobic.
    Tu masz kod jak zapomoca przycisku zapisac klawisz z pilota
    
    'konfiguracja procka
    $crystal = 1000000
    $regfile "attiny2313.dat"
    
    'konfiguracje przyciskow (przyklad)
    Config Pinb.1 = Input
    Set Portb.1
    Przycisk Alias Pinb.1
    
    'konfiguracja odbiornika
    Config Portb.0 = Output
    Portb.0 = 0
    Config Rc5 = Pind.6
    Dim Address As Byte , Command As Byte
    Dim Address_stala As Byte , Command_stala As Byte
    declare sub odczyt
    Enable Interrupts
    
    'glowna petla
    Do
    
    call odczyt
    
    If Address = address_stala And Command = command_stala Then
       Toggle Portb.0
       Waitms 400
    End If
    
    if przycisk=0 then
    waitms 45
    if przycisk=0 then
       Do
          Call Odczyt
          Address_stala = Address
          Command_stala = Command
    
          If Przycisk = 1 Then
          Waitms 45
          If Przycisk = 1 Then
             Exit Do
          End If
          End If
       Loop
    End If
    end if
    
    Loop
    End
    
    Sub Odczyt
    Getrc5(address , Command)
    Command = Command And &B01111111
    End Sub
    


    Jak programujesz przycisk w pilocie musisz przycisnac przycisk podlaczonym do procka
    ____________________________
    Poprawilem kod
  • #4 7298324
    skater156
    Poziom 14  
    Witam, dzięki za odpowiedzi.Rozumiem, że tylko port microswitcha mam ustawić?Kod poniżej do microswitcha dobrze dopisany?A i co to są te przerwania?

    $crystal = 1000000
    $regfile "attiny2313.dat"


    Config Portd.0 = Output microswitch
    Config Portb.0 = Output
    Portb.0 = 0
    Config Rc5 = Pind.6
    Dim Address As Byte , Command As Byte
    dim address_staly as byte , command_staly as byte
    declare sub odczyt
    Enable Interrupts
    Do
    call odczyt
    If Address = address_stala And Command = comand_stala Then
    Toggle Portb.0
    Waitms 400
    End If

    if przycisk=0 then
    waitms 45
    if przycisk=0 then

    do
    call odczyt

    address_stala=address
    command_stala=command

    loop until przycisk=1

    end if
    end if

    Loop
    End

    Dodano po 4 [minuty]:

    A i bascom czepia sie że w tej linijce są błędy jak biore compile.
    If Address = address_stala And Command = comand_stala Then
  • #5 7298432
    mirekk36
    Poziom 42  
    wader_669 --> tyle razy już miałeś przykłady, że pomoc co poniektórym poprzez podawanie gotowego kodu nie pomoże a wręcz zaszkodzić może ;)

    myślę, że autorowi bardziej na początek przydałoby się właśnie poczytać gdzieś o przerwaniach ,w ogóle o budowie i działaniu procka oraz jego modułów itp - apotem zabierać się na początek za próby pisania pierwszych programów do migania diodą LED - a nie od razu rzucać się jak z motyką na słońce

    Widać przecież po pierwszym pytaniu, że kod nie napisany własnoręcznie tylko skądś skopiowany i wklejony - i to jeszcze nie jest złe - gorsze, że autor nie potrafiąc zbudować nawet hulajnogi bierze się za budowanie najnoweszego modelu mercedesa.

    Na prawdę proponuję przejść to wszystko po kolei - to też będą ciekawe doświadczenia. Poczytać hcociaż kilka dostępnych nawet w necie kursów Bascoma - zdaje się, że na dioda.com.pl jest jakiś nawet fajny, na EdW też jest - tzw ośla łączka, są książki - a nawet z samego helpa po polsku można się dużo nauczyć i co więcej - bez problemu zrobić sobie sterownik On/OFF RC5 ;)

    a Bascom (kompilator) się czepia - bo widać kolega nawet podstawowej składni tegoż języka nie chce opanować - nie mówiąc już , że nie chce się samemu po sobie 2 razy przeczytać - aby dostrzec różnicę w:



    a



    nie mówiąc już o innych cudach ;) w kodzie
  • #6 7301108
    wader_669
    Poziom 28  
    mirekk36 napisał:
    wader_669 --> tyle razy już miałeś przykłady, że pomoc co poniektórym poprzez podawanie gotowego kodu nie pomoże a wręcz zaszkodzić może ;)


    Mialem dobry humor :D (naprawde) inaczej bym troche tu pomarudzil. Kod widac ze napisany troche na odpie***l. Nawet nie sprawdzalem czy moze dzialac, do tego go pisalem w notatniku
  • #7 7301129
    mirekk36
    Poziom 42  
    wader_669 --> ale ja mówiłem o kodzie podanym jako przykład przez autora a nie o twoim ;) jak już

    hyhyhy no tak ale jak patrzę to autor przepisał powyżej twój powielając jakieś tam nawet drobne błędy - literówki ;) czyli ZERO własnego wkładu, analizy czy próby zrozumienia......

    hmmm a może więc specjalnie tak podałeś ten kod żeby było nad czym rozmyślać ;) .... to i dobrze - dzięki temu autor będzie musiał - chciał nie chciał - pogłówkować i przynajmniej helpa poczytać - to mu tylko na zdrowie wyjdzie
  • #8 7301143
    wader_669
    Poziom 28  
    no, bylem zmenczony i u dziewczyny :P wiec bledy nie byly specjalnie
    Teraz napisalem gotowca :D

    Spoko, wiem o co ci chodzi mirekk36 sam tak mysle, ale tak jak pisalem mam ostatnio dobry humor i napisalem gotowca

    Kod testowalem kompiluje sie
REKLAMA