- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 3 von 3

Thema: Interrupt auf Pin legen *** Danke hat sich erledigt ***

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.07.2004
    Ort
    Münchener Osten
    Alter
    51
    Beiträge
    297

    Interrupt auf Pin legen *** Danke hat sich erledigt ***

    Ein Hallo an Euch,

    habe ein Problem mit Interrupt und stehe (glaube ich) auf der Leitung. **

    Hier das Programm:
    ' *** CPU Einstellungen ***
    $regfile = "m32def.dat"
    $crystal = 11059200
    ' *** CPU Einstellungen ***

    ' *** Variablen Definieren ***
    Dim Go As Byte
    Dim Zaehler As Word
    Dim Richtungx As Bit
    Dim Richtungy As Bit
    ' *** Variablen Definieren ***

    ' *** Constanten ***
    Const Anfahren = 83 ' Reload für Timer0 = 998 Hz (PWM 499 Hz)
    Const Speed1 = 170 ' Reload für Timer0 = 2010 Hz (PWM 1005 Hz)
    Const Speed2 = 199 ' Reload für Timer0 = 3030 Hz (PWM 1515 Hz)
    ' *** Constanten ***

    ' *** Port Einstellungen und Ports Reseten ***
    Config Porta = Input ' Port A => Input
    Config Portb = Input ' Port B => Input
    Config Portc = Output ' Port C => Output
    ' *** Port Einstellungen und Ports Reseten ***

    ' *** TIMER 0 ***
    Config Timer0 = Timer , Prescale = 64 ' Timer0 Einstellungen
    On Timer0 Pwm ' wenn timer0 aktiv - dann Sprung zum Unterprogramm "PWM"
    Enable Timer0 ' Timer0 GO
    ' *** TIMER 0 ***

    ' *** Interrupt Endschalter ***
    Config Int0 = Rising
    Enable Int0
    On Int0 Umschalt
    ' *** Interrupt Endschalter ***

    Enable Interrupts ' Interrupts für die ges. CPU freigegeben

    ' *** START-Parameter festlegen ***
    Zaehler = 1
    Richtungx = 0
    Richtungy = 0
    ' *** START-Parameter festlegen ***



    ' ***** HAUPTPROGRAMM *****
    Do

    If Pina.0 = 1 Then
    If Pina.1 = 0 Then
    Go = 1
    End If
    End If

    If Pina.1 = 1 Then
    If Pina.0 = 0 Then
    Go = 0
    Zaehler = 1
    End If
    End If



    Loop

    End ' *** E N D E ***
    ' *** E N D E ***
    ' ***** HAUPTPROGRAMM *****



    ' *** PWM ***
    Pwm: ' Sprungziel für den Timer0 (PWM-Unterprogramm)

    Portc.0 = Richtungx
    Portc.2 = Richtungy


    If Zaehler <= 499 Then
    If Go = 1 Then
    Timer0 = Anfahren
    Zaehler = Zaehler + 1
    Toggle Portc.1
    Toggle Portc.3
    End If
    End If

    If Zaehler >= 500 Then
    If Zaehler <= 1515 Then
    If Go = 1 Then
    Timer0 = Speed1
    Zaehler = Zaehler + 1
    Toggle Portc.1
    Toggle Portc.3
    End If
    End If
    End If

    If Zaehler >= 1516 Then
    If Go = 1 Then
    Timer0 = Speed2
    Toggle Portc.1
    Toggle Portc.3
    End If
    End If

    Return
    ' *** PWM ***

    ' *** Interrupt X, Y ***
    Umschalt:
    If Pinb.2 = 1 Then
    Toggle Richtungx
    End If
    If Pinb.1 = 1 Then
    Toggle Richtungy
    End If
    Return
    ' *** Interrupt X, Y ***


    Ich möchte das wenn PinB.2 oder und PinB.1 von 0 auf 1 umschalten (Endschalter) der Interrupt ausgelöst wird und dann die Richtung geändert wird.

    Helft mir mal, ich stehe gerade auf der Leitung, wie ordne ich den Int0 den Pin´s zu?
    Gruß MrQu (Manuel)

    <u>----->>> In diesem Forum wohnt ein Geist der jedem in die Finger beißt! <<< -----</u>
    Error for Drive \"A:\" ---> Wasser im Laufwerk bitte abpumpen!

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2006
    Ort
    Biberach
    Alter
    34
    Beiträge
    485
    Hmmm ich dachte immer INT0 wäre auf einen festen Pin gelegt. Also beim Mega32 ist es laut Schaltplan auf PD2.

    Könnte mich aber auch irren.

    MfG

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.07.2004
    Ort
    Münchener Osten
    Alter
    51
    Beiträge
    297
    @coCo

    Ja, danke!!!

    Ich "Blindfisch" habe ich heute morgen auch gesehen.
    Wie war das mit dem Wald und den Bäumen? ...
    Gruß MrQu (Manuel)

    <u>----->>> In diesem Forum wohnt ein Geist der jedem in die Finger beißt! <<< -----</u>
    Error for Drive \"A:\" ---> Wasser im Laufwerk bitte abpumpen!

Berechtigungen

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

Labornetzteil AliExpress