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

bascom i budzenie atmega32

senior231 17 Lut 2010 13:41 1295 4
REKLAMA
  • #1 7707901
    senior231
    Poziom 10  
    witam mam problem z wybudzeniem tego proca.
    przycisk jest podłączony pod int0 proca
    w programie głównym przycisk robi za enter ale jak się go dłużej trzyma to program skacze do powerdown
    i teraz nie mam pojęcia jak go wybudzać tym samym przyciskiem używając przerwania ?
    Do
    If Fun = 6 Then Fun = 5
    If Fun = 255 Then Fun = 0
    If Flaga = 1 Then
    Select Case Fun
    Cls
    Case 0 :
    Vollcd = Vol * -1.25
     Lcd "volume :"
     Locate 1 , 16
     Lcd Chr(0)
     Lowerline
     Lcd Vollcd ; " dB"
    Case 1:
    Lcd "Bas :"
    Locate 1 , 15
    Lcd Chr(1) ; Chr(0)
    Call Wybbas
    Case 2 :
    Lcd "Treble :"
    Locate 1 , 15
    Lcd Chr(1) ; Chr(0)
    Call Wybtr
    Case 3:
     Lcd "Wejscie :"
     Locate 1 , 16
    Lcd Chr(1)
    Call Wykanal
    Case 4:
     Lcd "reset to default :"
     Locate 1 , 16
    Lcd Chr(1)
    Lowerline
    Lcd "ok ?"
    Case 5:
     Lcd "odczytac ustawienia :"
     Locate 1 , 16
    Lcd Chr(1)
    Lowerline
    Lcd "ok ?"
    End Select
    Flaga = 0
    Portb.0 = 1
    Waitms 50
    End If
    
    If S1 = 0 Then
    Waitms 300
     Cls
    Select Case Fun
    Case 0 : Call Volume
    Case 1 : Call Bas
    Case 2 : Call Treble
    Case 3 : Call Pkanal
    Case 4 : Call Default
    Case 5 : Call Odczyt
    End Select
    'Waitms 100
      If S1 = 0 Then
       Call Pdown
        End If
         End If
          Enkoder = Encoder(pinb.2 , Pinb.3 , M1 , M2 , 0)
    Loop
    
    
    M1:
    Waitms 300
    Flaga = 1
    Incr Zmp
    If Zmp = 1 Then
     Zmp = 0
    Incr Fun
               Portb.0 = 0
        End If
    Return
    M2:
    Waitms 300
    Flaga = 1
    Incr Zmp
      If Zmp = 1 Then
      Zmp = 0
    Decr Fun
    Portb.0 = 0
           End If
    Return
    
    pdown:
    
    powerdown
    
    
    


    Proszę poprawić treść postu - regulamin p.15
    [zumek]
  • REKLAMA
  • #2 7709660
    ZbeeGin
    Poziom 39  
    Wcięć nie ma. Komentarzy brak. Program po POWERDOWN pójdzie w krzaki.

    Naprawdę mamy się przebijać przez te arcydzieło...?
  • REKLAMA
  • #3 7709844
    senior231
    Poziom 10  
    sorry za taki kod ale naprawdę nie mam pomysłu jak to zrobić
    czy atmega sie obudzi jak podam na int0 ?
    czy można zrobić to tak


    config int0=low level
    on int0 pdown

    pdown:
    enable interups
    incr flaga
    if flaga=2 then
    start watchdog
    else
    powerdown
    end if
  • REKLAMA
  • #4 7710025
    ZbeeGin
    Poziom 39  
    senior231 napisał:

    config int0=low level

    Ten numer nie przejdzie. Poczytaj sobie w dokumentacji co to jest Rising, Falling, Change, i Low Level.
  • #5 7723801
    senior231
    Poziom 10  
    udało mi się go wybudzić ale nie tak jak chciałem
    przycisk s1 wprowadza go w powerdown a s2 budzi
    a jak to zrobić żeby np s1 budził i usypiał
REKLAMA