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

[ATTiny2313][Bascom]Power-down (Pilot RC5)

korexus 09 Sty 2010 18:29 2895 4
REKLAMA
  • #1 7510332
    korexus
    Poziom 11  
    Witam,
    piszę program pilota do sterowania oświetleniem mojego pokoju.
    Zatrzymałem się nad problemem "wybudzania" procesora z trybu power-down obojętnie którym z 6przycisków które będą na pilocie...
    Czy ktoś mógłby podpowiedzieć jak to zrobić w bascomie?
    Byłbym bardzo wdzięczny... Myślę że nie ma po co wstawiać kodu który "posiadam" bo to tylko obsługa rc5 send i przyciski...

    Z góry dziękuje za pomoc
    Pozdrawiam
    KoreX
  • REKLAMA
  • #2 7510645
    xury
    Specjalista automatyka domowa
    Kolega czytał helpa ?
    Cytat:
    W trybie Power Down, zewnętrzny oscylator zostaje zatrzymany. Użytkownik może przywrócić działanie procesora tylko za pomocą: układu WATCHDOG, zewnętrznego sygnału reset lub za pomocą zewnętrznego sygnału przerwania.

    (c) Zbigniew Gibek, 2002-2005 (c) MCS Electronics, 1999-2005
  • REKLAMA
  • #3 7510709
    manekinen
    Poziom 29  
    Te 6 przycisków połącz z jednej strony do 6 pinów a z drugiej wszystko do INT0 lub INT1. Przed położeniem procka spać pin przerwania ustaw jako wejście i podciągnij, pozostałe 6 pinów jako wyjścia w stanie niskim. Naciśnięcie któregokolwiek przycisku spowoduje wybudzenie procka (wybudzaj stanem niskim lub zboczem opadającym) a po wybudzeniu OD RAZU przekonfiguruj piny, pin przerwania jako wyjście stan niski, a piny przycisków jako wejścia podciągnięte - i odczytaj który przycisk został naciśnięty. Pamiętaj żeby przerwanie pinu włączać tylko gdy go usypiasz a wyłączać zaraz po obudzeniu.
  • REKLAMA
  • #4 7607629
    bogdanbb2
    Poziom 12  
    Witam
    Sam bym prosił o wsad bo mam problem z wybudzaniem procka i stale coś mi nie działa.
  • #5 7608745
    Jacoo1
    Poziom 11  
    Witam ja miałem taki problem z Powerdown że układ nie wyłączał się całkiem mianowicie gdy miał przejść w tryb Powerdown zauważyłem że układ w tym trybie w ciąż pobierał prąd kilka mA i nie dał się wybudzić przerwaniem rozwiązałem ten problem w taki sposób że użyłem biblioteki ($regfile = "ATtiny2313.DAT") ze starszej wersji BACOM-AVR 11.1.8.1.
    Po skompilowaniu programu i wgraniu do procka procek w trybie Powerdown pobierał kilka uA i budził się sygnałem z przerwania Int0/Int1 .

    A tu kawałek kodu z obsługą przerwania i Powerdown.
    
    $regfile = "ATtiny2313.DAT"                                 'procesor ATtiny2313
    $crystal = 1000000                                          'taktowany 1MHz
    
    Config Portb = &B00000000
            Portb = &B00000000
    Config Portd = &B1000000
            Portd = &B0011100
    
    Dim Onoff As Bit
    Dim Time1 As Integer
    
    Config Int0 = Low Level
    On Int0 Przerwanie0
    Config Int1 = Low Level
    On Int1 Przerwanie1
    Enable Int0
    Enable Interrupts
    
    Do
       If Time1 > 20000 Then
          If Onoff = 0 Then
             Time1 = 0
             Enable Int1                                        'włączenie przerwania od INT1
             Powerdown                                          'przejdź w tryb Powerdown
          End If
       Else
          Incr Time1
          Waitus 1
       End If
    
       If Pind.3 = 0 Then
          Reset Onoff
       Else
          Set Onoff
       End If
    Loop
    
    Przerwanie0:
       'Getrc5(address , Command)
    Return
    
    Przerwanie1:
       Disable Int1
    Return
    
    End                                                         'end program
    
REKLAMA