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

[attiny25] [bascom] rc5 zatrzaskiwanie wartosci na porcie

dturczak 23 Kwi 2010 14:16 1214 2
  • #1 7994932
    dturczak
    Poziom 19  
    Witam
    probuje wykorzystac funkcje Getrc5 na attiny25 a niestety bardzo rzadko korzystam z bascoma.
    w chwili kompilacji zglasza mi blad
    Cytat:
    .EQY not foun ,probably using functions that are not supported by the selected chip [TCCR0]

    z tego co wiem w attiny25 znajduja sie rejestry TCCR0A,TCCR0B.
    co dziwne wydawalo mi sie ze ten kod kiedys mi dzialal :P
  • #2 7996726
    dturczak
    Poziom 19  
    wina kompilatora...
    od wersji 1.11.9.5 wszystko ok ;)
  • #3 7998127
    dturczak
    Poziom 19  
    Niestety pojawil sie problem...
    chcialem miec attiny realizujace odbior kodu rc5 i wystawiajace odpowiednie stany na wyjsciu portu....tak zebym na innym kontrolerze mogl odczytac co nacisnalem na pilocie...zeby uniezaleznic sie od synchronizacji miedzy odczytaniem danych a nacisnieciem przycisku zatrzaskuje wartosci na porcie zmieniajac jeden bit na przeciwny w momencie nacisniecia czegokolwiek.

    
    
    
    $crystal = 8000000
    
    Config Pinb.1 = Output
    Config Pinb.4 = Output
    Config Pinb.3 = Output
    
    Config Rc5 = Pinb.2
    
    Dim Roz As Byte
    
    Dim Address As Byte , Command As Byte , Stare As Byte
    Enable Interrupts
    
    
    
    Do
    
    Getrc5(address , Command)
    
       Command = Command And &B01111111
    
    
       If Command <> Stare Then
    
    
          Select Case Command
    
             Case 1 :
                'Roz = &B00001000
                Roz.3 = 1
                Roz.4 = 0
    
                Toggle Roz.1
    
                Portb = Roz
             Case 2 :
                'Roz = &B00010000
                Roz.3 = 0
                Roz.4 = 1
    
                Toggle Roz.1
    
                Portb = Roz
             Case 3 :
                'Roz = &B00011000
                Roz.3 = 1
                Roz.4 = 1
    
                Toggle Roz.1
    
                Portb = Roz
             'Case 4 : Roz = &B00000010
    
          End Select
    
       End If
    
       Stare = Command
    
    
    
    
    
    
    Loop
    
    End
    
    

    Bez warunku if dziala prawie dobrze,chcialem jednak uniezaleznic sie od przytrzymania klawisza...dodanie warunku powoduje ze musze wykonywac dosc duze odstepy czasowe miedzy nacisnieciem tego samego przycisku....
    szybkie przelaczanie miedzy roznymi przyciskami dziala dobrze.
    Ktos naprowadzi ? ;)
REKLAMA