-         

Ergebnis 1 bis 8 von 8

Thema: Pin-Zustand erkennen und schalten bei dauernd pin=1

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379

    Pin-Zustand erkennen und schalten bei dauernd pin=1

    Anzeige

    Sooooo,
    (und Hallo)
    genug und schon wieder allzulang vielleicht über einer einfachen Sache gesessen und keine Lösung gefunden!

    Mein Problem:
    an einem Pin hängt eine Led, die zyklisch an und aus geht. Das einschalten der LED erkenne ich über den Port Change Interrupt. Wenn jetzt die LED aufhört zu blinken und dauernd an ist, soll eine Aktion ausgelöst werden.
    Irgend wie habsch nen Brett vorm Kopf, finde irgend wie keinen Lösungsansatz...

    Wer kann mir helfen?

    Grüße MAT

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.10.2004
    Ort
    Baoding
    Alter
    37
    Beiträge
    687
    Nimm einen entsprechenden Timer und setzt ihn in der PortChange Interrupt auf 0. Wenn der Timer dann überläuft wurde er wohl lange nicht zurückgesetzt und es blinkt nichts mehr
    Signatur??? kann ich mir nicht leisten!!!

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379
    Hi Rofo,

    Das ist eine gute Idee! Gibt es noch möglichkeiten ohne Timer?

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Na, du hast doch sicher irgendeine DO...LOOP Haupschleife. Wenn du da eine Zähler hochzählst, ist das genau genug. Ansonsten dir gleiche Logik a la @rofo88
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379
    An dem Hochzählen klemmt es eben halt. Habe diverse Möglichkeiten durchgespielt, komme aber jedoch nicht zum Erfolg, irgendwie hab ich nen Brett vorm Kopf. Hast Du ein Sample wie ich das mit dem Hochzählen lösen kann?

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.10.2004
    Ort
    Baoding
    Alter
    37
    Beiträge
    687
    in deiner Hauptschleife

    Code:
    i=i+1
    if i> 10000 then "mache was"
    und in deinem Interrupt
    Code:
    i=0
    Signatur??? kann ich mir nicht leisten!!!

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379
    ok, diese Form kann ich leider nicht nehmen. Ich weiß eben nicht wann die LED aufhört zu blinken (Akkuladeschaltung).
    Aber ich probiere gerade was anderes aus, vielleicht geht das:
    Code:
    If Laden = 1 Then
        Laden1 = Laden1 + 1
        Reset Laden
        Print "laden  " ; Laden
        Print "laden1   " ; Laden1
    
     End If
    
     If Laden1 > 1 And Pina.1 = 1 Then
        Portd.5 = 0
           Batladen = 0
           Laden1 = 0
         Print "Batladen   " ; Batladen
        Print "laden1 zurückgesetzt"
     End If
    
    '-----------------------
    Akku_isr:
    Set Laden
    If Laden1 = 100 Then Laden1 = 0
    Print "PCINT angesprungen"
    
    Return

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    43
    Beiträge
    379
    Moin,

    Problem hat sich erledigt, ich habe einen bestehenden Timer verwendet. MAT

Berechtigungen

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