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] Instrukcja warunkowa if..then

astony 08 Maj 2011 11:47 2001 8
REKLAMA
  • #1 9483882
    astony
    Poziom 14  
    Witam.
    Chciałbym podczas procedury if.. then iść na początek programu.
       Set Portd.0.5
       Start Timer0
    A0:
       Reset Krok
       Bitwait Pind.5 , Set
    A3:
       If Krok > 256 Then
       Goto A0
       End If

    Nie mam pojęcia jak to zrobić.
    Ma ktoś pomysł?
    please :D
  • REKLAMA
  • #2 9483965
    jan1996
    Poziom 24  
    jest to chyba fragment programu może zaprezentował nam resztę
  • REKLAMA
  • #3 9484011
    astony
    Poziom 14  
    Nie widzę sensu ,ale prosze.
    $regfile = "ATtiny2313.DAT"
    '$romstart = &H8000
    $crystal = 8000000
    Dim Krok As Word
    Dim Jeden As Byte
    Dim Zero As Word
    Dim A As Byte
    Config Timer0 = Timer , Prescale = 1
    
    Config Portb = &B11111110
    Config Portd = &B11011111
    
     Do
       Timsk = &H01
       Tcnt0 = &HB8
       Enable Interrupts
       Enable Timer0
    
       Set Portd.0.5
       Start Timer0
    A0:
       Reset Krok
       Bitwait Pind.5 , Set
    A3:
       If Krok > 256 Then
       Goto A0
       End If
    A5:
       Zero = 8
       Jeden = 1
       Reset Krok
    A4:
       Bitwait Pind.5 , Reset
       Out Portb , Jeden
       Jeden = Jeden * 2
       Zero = Zero - 1
       If Zero <> 0 Then
       Goto A4
       End If
       Goto A0
    Loop
    End                           'end program
    
    10us:
    Krok = Krok + 1
    Return
    

    Wciąż w opracowaniu
  • #4 9484064
    Fredy
    Poziom 27  
    To jak piszesz ten program to przykład jak należy nie pisać programów. To najgorsza odmiana Bascoma. To jest przykład który zaraz spowoduje tu lawinę postów o tym abyś jak najszybciej przesiadł się na C.
    Oducz się takiego stylu jak najszybciej. Instrukcję Goto nie powinno się używać wogóle. Są wyjątkowe sytuacje kiedy instrukcja ta ma jakiś sens.
    Tego koszmarka można zawsze zastąpić instrukcjami pętli. Wystarczy tylko trochę pomyśleć.

    Poza tym właczyłeś przerwania a gdzie niby jest procedura obsługi przerwania? Wiesz czym to grozi?
  • REKLAMA
  • #6 9484093
    Fredy
    Poziom 27  
    Co to jest Set Portd.0.5 ?
    Co to jest Reset Krok ?
  • REKLAMA
  • Pomocny post
    #8 9484109
    Fredy
    Poziom 27  
    co ma się niby ustawić Portd.0 czy Portd.5 ?
    Gdzie jest procedura obsługi przerwania od Timera?
    Nie wiem czy reset nie działa tylko bitowo w Bascomie, myślę że lepije i bezpieczniej jest zrobić krok=0.
REKLAMA