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

pierwszy program z timer0, problem...

hanibal0 10 Sty 2011 21:22 891 3
REKLAMA
  • #1 8988056
    hanibal0
    Poziom 11  
    Jest to mój pierwszy program z użyciem timera i nie mam pojęcia dlaczego nie działa, wydaje mi się że wszystko jest ok a jednak po wgraniu do mikrokontrolera nie ma żadnej reakcji.


    $regfile "attiny2313.dat"
    $crystal = 1000000
    
    Config Timer0 = Timer , Prescale = 1024
    
    Dim T1 As Byte
    T1 = 0
    
    Dim T2 As Byte
    T2 = 0
    
    Dim T3 As Byte
    T3 = 0
    
    On Timer0 Przerwanie
    Start Timer0
    Enable Timer0
    
    Config Portb = &B11111111
            Portb = &B00000000
    Config Portd = &B11000011
            Portd = &B00111100
    
    D1 Alias Portb.0
    D2 Alias Portb.1
    D3 Alias Portb.2
    D4 Alias Portb.3
    D5 Alias Portb.4
    D6 Alias Portb.5
    D7 Alias Portb.6
    D8 Alias Portb.7
    
    Enable Interrupts
    
    
    Do
    
    If T1 = 0 Then
    T1 = 10
    Toggle D1
    End If
    
    If T2 = 0 Then
    T2 = 40
    Toggle D2
    End If
    
    If T3 = 0 Then
    T3 = 80
    toggle D3
    End If
    
    Loop
    
    Przerwanie:
    If T1 > 0 Then Decr T1
    If T2 > 0 Then Decr T2
    If T3 > 0 Then Decr T3
    Return
  • REKLAMA
  • REKLAMA
  • #3 8988531
    hanibal0
    Poziom 11  
    Aż mi się wierzyć nie chce ale dodanie waitms 1 ruszyło program :D,
    teraz pytanie dlaczego tak jest? Uczę się obsługi timera bo chcę przestać używać polecenia wait a tu taka niespodzianka, może mi ktoś wytłumaczyć dlaczego tak jest, przecież opóźnienie 1ms to praktycznie żadne opóźnienie a jednak bez tego program nie działa.
  • #4 8989371
    Konto nie istnieje
    Poziom 1  
REKLAMA