- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte
Ergebnis 31 bis 40 von 52

Thema: timer vll mal erklären???

  1. #31
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    36
    Beiträge
    380
    Anzeige

    Praxistest und DIY Projekte
    $regfile = "m32def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32


    Dim I As Integer
    Dim Led As Integer
    Led = 0

    Config Portc.2 = Input


    Config Timer0 = Timer, Prescale = 1024

    On Timer0 Timer_irq

    Const Timervorgabe = 100

    Enable Timer0
    Enable Interrupts


    Do
    If Portc.2 = 1 Then
    If Led = 0 Then Led = 1
    If Led = 1 Then Led = 0
    End If

    Waitms 1
    Loop

    Timer_irq:
    Timer0 = Timervorgabe
    If I = 30000 Then
    Led = 0
    I = 0
    Elseif Led = 1 Then
    Incr I
    End If

    Return


    so gehts. aber sollte man anstatt der beiden if sätze nicht else einsetzen für den letzten if satz?

  2. #32
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2006
    Ort
    Biberach
    Alter
    34
    Beiträge
    485
    Hää? ich versteh nicht ganz dein Problem?
    Nimm doch den Code den ich oben gepostet hab, dieser funktioniert.

    Und ja du kannst der Variable taste_gedrueckt irgendeinen anderen Namen zuweisen, nur sollte der nicht mit einer Zahl anfangen!


    Edit: ja else kannst du auch machen

  3. #33
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    36
    Beiträge
    380
    schau mal oben habs

  4. #34
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    36
    Beiträge
    380
    achso noch eine frage an welcher stelle muss ich nun mein programm einfügen?

  5. #35
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2006
    Ort
    Biberach
    Alter
    34
    Beiträge
    485
    In die Do Schleife

  6. #36
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    36
    Beiträge
    380
    also habs jetzt drauf geflasht alles geklappt. nur is die led die ich ansteuere eben net aus sondern ein. und abschalten tut se sich auch net per knopfdruck.

  7. #37
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    36
    Beiträge
    380
    und mein erstes programm dass ich in die do schleife geschrieben habe geht auch nimmer

  8. #38
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    36
    Beiträge
    380
    $regfile = "m8def.dat"
    $crystal = 1000000
    $baud = 9600

    Config Portb.0 = Output
    Config Pinc.0 = Input
    Config Portb.1 = Output
    Config Pinc.1 = Input
    Config Pinc.2 = Input

    Portc.0 = 1
    Portc.1 = 1
    Portc.2 = 1
    Portc.3 = 1

    Dim I As Integer
    Dim Led As Integer
    Led = 0

    Config Timer0 = Timer , Prescale = 1024

    On Timer0 Timer_irq

    Const Timervorgabe = 100

    Enable Timer0
    Enable Interrupts

    Do

    Do
    If Portc.2 = 1 Then
    If Led = 0 Then Led = 1
    If Led = 1 Then Led = 0
    End If

    Waitms 1
    Loop

    Timer_irq:
    Timer0 = Timervorgabe
    If I = 30000 Then
    Led = 0
    I = 0
    Elseif Led = 1 Then
    Incr I
    End If


    If Pinc.0 = 1 Then
    Portb.0 = 1
    Portb.1 = 0
    Portb.1 = 0

    Else
    Portb.0 = 0
    Wait 3
    Portb.1 = 1
    Wait 5
    Portb.1 = 0
    Wait 3
    End If
    If Pinc.1 = 1 Then
    Portb.2 = 1
    Portb.3 = 0
    Portb.3 = 0

    Else
    Portb.2 = 0
    Wait 3
    Portb.3 = 1
    Wait 5
    Portb.3 = 0
    Wait 3
    End If
    Loop
    End

  9. #39
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    36
    Beiträge
    380
    habs jetzt mal so geschrieben jetzt geht des programm von mir schon mal wieder aber der timer noch net.

    $regfile = "m8def.dat"
    $crystal = 1000000
    $baud = 9600

    Config Portb.0 = Output
    Config Pinc.0 = Input
    Config Portb.1 = Output
    Config Pinc.1 = Input
    Config Pinc.2 = Input

    Portc.0 = 1
    Portc.1 = 1
    Portc.2 = 1
    Portc.3 = 1

    Dim I As Integer
    Dim Led As Integer
    Led = 0

    Config Timer0 = Timer , Prescale = 1024

    On Timer0 Timer_irq

    Const Timervorgabe = 100

    Enable Timer0
    Enable Interrupts

    Do

    Do
    If Portc.2 = 1 Then
    If Led = 0 Then Led = 1
    If Led = 1 Then Led = 0
    End If

    Waitms 1


    If Pinc.0 = 1 Then
    Portb.0 = 1
    Portb.1 = 0
    Portb.1 = 0

    Else
    Portb.0 = 0
    Wait 3
    Portb.1 = 1
    Wait 5
    Portb.1 = 0
    Wait 3
    End If
    If Pinc.1 = 1 Then
    Portb.2 = 1
    Portb.3 = 0
    Portb.3 = 0

    Else
    Portb.2 = 0
    Wait 3
    Portb.3 = 1
    Wait 5
    Portb.3 = 0
    Wait 3
    End If


    Loop



    Timer_irq:
    Timer0 = Timervorgabe
    If I = 30000 Then
    Led = 0
    I = 0
    Elseif Led = 1 Then
    Incr I
    End If



    Loop
    End

  10. #40
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2006
    Ort
    Biberach
    Alter
    34
    Beiträge
    485
    Timer_irq solltest du net in die Do Loop Schleife schreiben.
    Außerdem hast du 2 verschachtelte Do Loop Schleifen. Du brauchst nur eine.

    Und wenn du willst, dass dein Programm nur innerhalb der 5 Minuten ausgeführt wird solltest du überprüfen ob Variable Led ungleich 0 ist, sprich 1.

    Code:
    $regfile = "m8def.dat"
    $crystal = 1000000
    $baud = 9600
    
    Config Portb.0 = Output
    Config Pinc.0 = Input
    Config Portb.1 = Output
    Config Pinc.1 = Input
    Config Pinc.2 = Input
    
    Portc.0 = 1
    Portc.1 = 1
    Portc.2 = 1
    Portc.3 = 1
    
    Dim I As Integer
    Dim Led As Integer
    Led = 0
    
    Config Timer0 = Timer , Prescale = 1024
    
    On Timer0 Timer_irq
    
    Const Timervorgabe = 100
    
    Enable Timer0
    Enable Interrupts
    
    
    
    Do
    
    
       If Portc.2 = 1 Then
       If Led = 0 Then Led = 1
       If Led = 1 Then Led = 0
       End If
    
       Waitms 1
    
    
    
       If Led = 1 Then
    
          If Pinc.0 = 1 Then
          Portb.0 = 1
          Portb.1 = 0
          Portb.1 = 0
          Else
          Portb.0 = 0
          Wait 3
          Portb.1 = 1
          Wait 5
          Portb.1 = 0
          Wait 3
          End If
    
          If Pinc.1 = 1 Then
          Portb.2 = 1
          Portb.3 = 0
          Portb.3 = 0
          Else
          Portb.2 = 0
          Wait 3
          Portb.3 = 1
          Wait 5
          Portb.3 = 0
          Wait 3
          End If
    
       End If
    
    Loop
    
    
    
    Timer_irq:
       Timer0 = Timervorgabe
       If I = 30000 Then
          Led = 0
          I = 0
       Elseif Led = 1 Then
          Incr I
       End If
    
    Return
    So dürfte es funktionieren.

    MfG

Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress